#1357N(l). It has purely coclosed G2-structure for l != -2


#Case l > 0


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-2*l*e1*e2*e6+2*l*e1*e3*e4-4*e1*e3*e5+2*l*e1*e4*e6-2*e1*e5*e6+2*l*e2*e3*e6+2*(l+2)*e2*e4*e5-l*e2*e4*e6-2*e3*e4*e6
psif=-2*l*f1*f2*f6+2*l*f1*f3*f4-4*f1*f3*f5+2*l*f1*f4*f6-2*f1*f5*f6+2*l*f2*f3*f6+2*(l+2)*f2*f4*f5-l*f2*f4*f6-2*f3*f4*f6
psig=-2*l*g1*g2*g6+2*l*g1*g3*g4-4*g1*g3*g5+2*l*g1*g4*g6-2*g1*g5*g6+2*l*g2*g3*g6+2*(l+2)*g2*g4*g5-l*g2*g4*g6-2*g3*g4*g6
psih=-2*l*h1*h2*h6+2*l*h1*h3*h4-4*h1*h3*h5+2*l*h1*h4*h6-2*h1*h5*h6+2*l*h2*h3*h6+2*(l+2)*h2*h4*h5-l*h2*h4*h6-2*h3*h4*h6
Cgfe=g1*f2*f3*e4*e5*e6+g1*f2*e3*f4*e5*e6+g1*f2*e3*e4*f5*e6+g1*f2*e3*e4*e5*f6+g1*e2*f3*f4*e5*e6+g1*e2*f3*e4*f5*e6+g1*e2*f3*e4*e5*f6+g1*e2*e3*f4*f5*e6+g1*e2*e3*f4*e5*f6+g1*e2*e3*e4*f5*f6+f1*g2*f3*e4*e5*e6+f1*g2*e3*f4*e5*e6+f1*g2*e3*e4*f5*e6+f1*g2*e3*e4*e5*f6+e1*g2*f3*f4*e5*e6+e1*g2*f3*e4*f5*e6+e1*g2*f3*e4*e5*f6+e1*g2*e3*f4*f5*e6+e1*g2*e3*f4*e5*f6+e1*g2*e3*e4*f5*f6+f1*f2*g3*e4*e5*e6+f1*e2*g3*f4*e5*e6+f1*e2*g3*e4*f5*e6+f1*e2*g3*e4*e5*f6+e1*f2*g3*f4*e5*e6+e1*f2*g3*e4*f5*e6+e1*f2*g3*e4*e5*f6+e1*e2*g3*f4*f5*e6+e1*e2*g3*f4*e5*f6+e1*e2*g3*e4*f5*f6+f1*f2*e3*g4*e5*e6+f1*e2*f3*g4*e5*e6+f1*e2*e3*g4*f5*e6+f1*e2*e3*g4*e5*f6+e1*f2*f3*g4*e5*e6+e1*f2*e3*g4*f5*e6+e1*f2*e3*g4*e5*f6+e1*e2*f3*g4*f5*e6+e1*e2*f3*g4*e5*f6+e1*e2*e3*g4*f5*f6+f1*f2*e3*e4*g5*e6+f1*e2*f3*e4*g5*e6+f1*e2*e3*f4*g5*e6+f1*e2*e3*e4*g5*f6+e1*f2*f3*e4*g5*e6+e1*f2*e3*f4*g5*e6+e1*f2*e3*e4*g5*f6+e1*e2*f3*f4*g5*e6+e1*e2*f3*e4*g5*f6+e1*e2*e3*f4*g5*f6+f1*f2*e3*e4*e5*g6+f1*e2*f3*e4*e5*g6+f1*e2*e3*f4*e5*g6+f1*e2*e3*e4*f5*g6+e1*f2*f3*e4*e5*g6+e1*f2*e3*f4*e5*g6+e1*f2*e3*e4*f5*g6+e1*e2*f3*f4*e5*g6+e1*e2*f3*e4*f5*g6+e1*e2*e3*f4*f5*g6
Cfgh=f1*g2*g3*h4*h5*h6+f1*g2*h3*g4*h5*h6+f1*g2*h3*h4*g5*h6+f1*g2*h3*h4*h5*g6+f1*h2*g3*g4*h5*h6+f1*h2*g3*h4*g5*h6+f1*h2*g3*h4*h5*g6+f1*h2*h3*g4*g5*h6+f1*h2*h3*g4*h5*g6+f1*h2*h3*h4*g5*g6+g1*f2*g3*h4*h5*h6+g1*f2*h3*g4*h5*h6+g1*f2*h3*h4*g5*h6+g1*f2*h3*h4*h5*g6+h1*f2*g3*g4*h5*h6+h1*f2*g3*h4*g5*h6+h1*f2*g3*h4*h5*g6+h1*f2*h3*g4*g5*h6+h1*f2*h3*g4*h5*g6+h1*f2*h3*h4*g5*g6+g1*g2*f3*h4*h5*h6+g1*h2*f3*g4*h5*h6+g1*h2*f3*h4*g5*h6+g1*h2*f3*h4*h5*g6+h1*g2*f3*g4*h5*h6+h1*g2*f3*h4*g5*h6+h1*g2*f3*h4*h5*g6+h1*h2*f3*g4*g5*h6+h1*h2*f3*g4*h5*g6+h1*h2*f3*h4*g5*g6+g1*g2*h3*f4*h5*h6+g1*h2*g3*f4*h5*h6+g1*h2*h3*f4*g5*h6+g1*h2*h3*f4*h5*g6+h1*g2*g3*f4*h5*h6+h1*g2*h3*f4*g5*h6+h1*g2*h3*f4*h5*g6+h1*h2*g3*f4*g5*h6+h1*h2*g3*f4*h5*g6+h1*h2*h3*f4*g5*g6+g1*g2*h3*h4*f5*h6+g1*h2*g3*h4*f5*h6+g1*h2*h3*g4*f5*h6+g1*h2*h3*h4*f5*g6+h1*g2*g3*h4*f5*h6+h1*g2*h3*g4*f5*h6+h1*g2*h3*h4*f5*g6+h1*h2*g3*g4*f5*h6+h1*h2*g3*h4*f5*g6+h1*h2*h3*g4*f5*g6+g1*g2*h3*h4*h5*f6+g1*h2*g3*h4*h5*f6+g1*h2*h3*g4*h5*f6+g1*h2*h3*h4*g5*f6+h1*g2*g3*h4*h5*f6+h1*g2*h3*g4*h5*f6+h1*g2*h3*h4*g5*f6+h1*h2*g3*g4*h5*f6+h1*h2*g3*h4*g5*f6+h1*h2*h3*g4*g5*f6
(-1/6)*psie*Cgfe*psif*psih*Cfgh*psig

# -16*l*(4*l^2 + 15*l + 16)
# negative for l > 0


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-2*l*e1*e2*e6+2*l*e1*e3*e4-4*e1*e3*e5+2*l*e1*e4*e6-2*e1*e5*e6+2*l*e2*e3*e6+2*(l+2)*e2*e4*e5-l*e2*e4*e6-2*e3*e4*e6
psif=-2*l*f1*f2*f6+2*l*f1*f3*f4-4*f1*f3*f5+2*l*f1*f4*f6-2*f1*f5*f6+2*l*f2*f3*f6+2*(l+2)*f2*f4*f5-l*f2*f4*f6-2*f3*f4*f6
psig=-2*l*g1*g2*g6+2*l*g1*g3*g4-4*g1*g3*g5+2*l*g1*g4*g6-2*g1*g5*g6+2*l*g2*g3*g6+2*(l+2)*g2*g4*g5-l*g2*g4*g6-2*g3*g4*g6
psix=-2*l*x1*x2*x6+2*l*x1*x3*x4-4*x1*x3*x5+2*l*x1*x4*x6-2*x1*x5*x6+2*l*x2*x3*x6+2*(l+2)*x2*x4*x5-l*x2*x4*x6-2*x3*x4*x6
psiy=-2*l*y1*y2*y6+2*l*y1*y3*y4-4*y1*y3*y5+2*l*y1*y4*y6-2*y1*y5*y6+2*l*y2*y3*y6+2*(l+2)*y2*y4*y5-l*y2*y4*y6-2*y3*y4*y6
psiz=-2*l*z1*z2*z6+2*l*z1*z3*z4-4*z1*z3*z5+2*l*z1*z4*z6-2*z1*z5*z6+2*l*z2*z3*z6+2*(l+2)*z2*z4*z5-l*z2*z4*z6-2*z3*z4*z6
psixyz=-2*l*x1*y2*z6+2*l*x1*y3*z4-4*x1*y3*z5+2*l*x1*y4*z6-2*x1*y5*z6+2*l*x2*y3*z6+2*(l+2)*x2*y4*z5-l*x2*y4*z6-2*x3*y4*l
Chxe=h1*x2*x3*e4*e5*e6+h1*x2*e3*x4*e5*e6+h1*x2*e3*e4*x5*e6+h1*x2*e3*e4*e5*x6+h1*e2*x3*x4*e5*e6+h1*e2*x3*e4*x5*e6+h1*e2*x3*e4*e5*x6+h1*e2*e3*x4*x5*e6+h1*e2*e3*x4*e5*x6+h1*e2*e3*e4*x5*x6+x1*h2*x3*e4*e5*e6+x1*h2*e3*x4*e5*e6+x1*h2*e3*e4*x5*e6+x1*h2*e3*e4*e5*x6+e1*h2*x3*x4*e5*e6+e1*h2*x3*e4*x5*e6+e1*h2*x3*e4*e5*x6+e1*h2*e3*x4*x5*e6+e1*h2*e3*x4*e5*x6+e1*h2*e3*e4*x5*x6+x1*x2*h3*e4*e5*e6+x1*e2*h3*x4*e5*e6+x1*e2*h3*e4*x5*e6+x1*e2*h3*e4*e5*x6+e1*x2*h3*x4*e5*e6+e1*x2*h3*e4*x5*e6+e1*x2*h3*e4*e5*x6+e1*e2*h3*x4*x5*e6+e1*e2*h3*x4*e5*x6+e1*e2*h3*e4*x5*x6+x1*x2*e3*h4*e5*e6+x1*e2*x3*h4*e5*e6+x1*e2*e3*h4*x5*e6+x1*e2*e3*h4*e5*x6+e1*x2*x3*h4*e5*e6+e1*x2*e3*h4*x5*e6+e1*x2*e3*h4*e5*x6+e1*e2*x3*h4*x5*e6+e1*e2*x3*h4*e5*x6+e1*e2*e3*h4*x5*x6+x1*x2*e3*e4*h5*e6+x1*e2*x3*e4*h5*e6+x1*e2*e3*x4*h5*e6+x1*e2*e3*e4*h5*x6+e1*x2*x3*e4*h5*e6+e1*x2*e3*x4*h5*e6+e1*x2*e3*e4*h5*x6+e1*e2*x3*x4*h5*e6+e1*e2*x3*e4*h5*x6+e1*e2*e3*x4*h5*x6+x1*x2*e3*e4*e5*h6+x1*e2*x3*e4*e5*h6+x1*e2*e3*x4*e5*h6+x1*e2*e3*e4*x5*h6+e1*x2*x3*e4*e5*h6+e1*x2*e3*x4*e5*h6+e1*x2*e3*e4*x5*h6+e1*e2*x3*x4*e5*h6+e1*e2*x3*e4*x5*h6+e1*e2*e3*x4*x5*h6
Chyf=h1*y2*y3*f4*f5*f6+h1*y2*f3*y4*f5*f6+h1*y2*f3*f4*y5*f6+h1*y2*f3*f4*f5*y6+h1*f2*y3*y4*f5*f6+h1*f2*y3*f4*y5*f6+h1*f2*y3*f4*f5*y6+h1*f2*f3*y4*y5*f6+h1*f2*f3*y4*f5*y6+h1*f2*f3*f4*y5*y6+y1*h2*y3*f4*f5*f6+y1*h2*f3*y4*f5*f6+y1*h2*f3*f4*y5*f6+y1*h2*f3*f4*f5*y6+f1*h2*y3*y4*f5*f6+f1*h2*y3*f4*y5*f6+f1*h2*y3*f4*f5*y6+f1*h2*f3*y4*y5*f6+f1*h2*f3*y4*f5*y6+f1*h2*f3*f4*y5*y6+y1*y2*h3*f4*f5*f6+y1*f2*h3*y4*f5*f6+y1*f2*h3*f4*y5*f6+y1*f2*h3*f4*f5*y6+f1*y2*h3*y4*f5*f6+f1*y2*h3*f4*y5*f6+f1*y2*h3*f4*f5*y6+f1*f2*h3*y4*y5*f6+f1*f2*h3*y4*f5*y6+f1*f2*h3*f4*y5*y6+y1*y2*f3*h4*f5*f6+y1*f2*y3*h4*f5*f6+y1*f2*f3*h4*y5*f6+y1*f2*f3*h4*f5*y6+f1*y2*y3*h4*f5*f6+f1*y2*f3*h4*y5*f6+f1*y2*f3*h4*f5*y6+f1*f2*y3*h4*y5*f6+f1*f2*y3*h4*f5*y6+f1*f2*f3*h4*y5*y6+y1*y2*f3*f4*h5*f6+y1*f2*y3*f4*h5*f6+y1*f2*f3*y4*h5*f6+y1*f2*f3*f4*h5*y6+f1*y2*y3*f4*h5*f6+f1*y2*f3*y4*h5*f6+f1*y2*f3*f4*h5*y6+f1*f2*y3*y4*h5*f6+f1*f2*y3*f4*h5*y6+f1*f2*f3*y4*h5*y6+y1*y2*f3*f4*f5*h6+y1*f2*y3*f4*f5*h6+y1*f2*f3*y4*f5*h6+y1*f2*f3*f4*y5*h6+f1*y2*y3*f4*f5*h6+f1*y2*f3*y4*f5*h6+f1*y2*f3*f4*y5*h6+f1*f2*y3*y4*f5*h6+f1*f2*y3*f4*y5*h6+f1*f2*f3*y4*y5*h6
Chzg=h1*z2*z3*g4*g5*g6+h1*z2*g3*z4*g5*g6+h1*z2*g3*g4*z5*g6+h1*z2*g3*g4*g5*z6+h1*g2*z3*z4*g5*g6+h1*g2*z3*g4*z5*g6+h1*g2*z3*g4*g5*z6+h1*g2*g3*z4*z5*g6+h1*g2*g3*z4*g5*z6+h1*g2*g3*g4*z5*z6+z1*h2*z3*g4*g5*g6+z1*h2*g3*z4*g5*g6+z1*h2*g3*g4*z5*g6+z1*h2*g3*g4*g5*z6+g1*h2*z3*z4*g5*g6+g1*h2*z3*g4*z5*g6+g1*h2*z3*g4*g5*z6+g1*h2*g3*z4*z5*g6+g1*h2*g3*z4*g5*z6+g1*h2*g3*g4*z5*z6+z1*z2*h3*g4*g5*g6+z1*g2*h3*z4*g5*g6+z1*g2*h3*g4*z5*g6+z1*g2*h3*g4*g5*z6+g1*z2*h3*z4*g5*g6+g1*z2*h3*g4*z5*g6+g1*z2*h3*g4*g5*z6+g1*g2*h3*z4*z5*g6+g1*g2*h3*z4*g5*z6+g1*g2*h3*g4*z5*z6+z1*z2*g3*h4*g5*g6+z1*g2*z3*h4*g5*g6+z1*g2*g3*h4*z5*g6+z1*g2*g3*h4*g5*z6+g1*z2*z3*h4*g5*g6+g1*z2*g3*h4*z5*g6+g1*z2*g3*h4*g5*z6+g1*g2*z3*h4*z5*g6+g1*g2*z3*h4*g5*z6+g1*g2*g3*h4*z5*z6+z1*z2*g3*g4*h5*g6+z1*g2*z3*g4*h5*g6+z1*g2*g3*z4*h5*g6+z1*g2*g3*g4*h5*z6+g1*z2*z3*g4*h5*g6+g1*z2*g3*z4*h5*g6+g1*z2*g3*g4*h5*z6+g1*g2*z3*z4*h5*g6+g1*g2*z3*g4*h5*z6+g1*g2*g3*z4*h5*z6+z1*z2*g3*g4*g5*h6+z1*g2*z3*g4*g5*h6+z1*g2*g3*z4*g5*h6+z1*g2*g3*g4*z5*h6+g1*z2*z3*g4*g5*h6+g1*z2*g3*z4*g5*h6+g1*z2*g3*g4*z5*h6+g1*g2*z3*z4*g5*h6+g1*g2*z3*g4*z5*h6+g1*g2*g3*z4*z5*h6
1/64*psie*Chxe*psix*psif*Chyf*psiy*psig*Chzg*psiz*psixyz


#psiplus=c*((4*l+8)*x4*x5*x6+(4*l^2+8*l)*x2*x5*x6-2*l*x1*x5*x6+2*l*x3*x4*x6-(4*l^3+11*l^2+8*l)*x2*x4*x6-2*l^2*x2*x3*x6+(4*l^2+8*l)*x1*x3*x6
+2*l^2*x1*x2*x6-(8*l+16)*x3*x4*x5-(2*l^2+4*l)*x2*x4*x5+(4*l^2+8*l)*x1*x4*x5+(8*l^2+16*l)*x2*x3*x5-4*l*x1*x3*x5
-(8*l^2+16*l)*x1*x2*x5-(4*l^3+8*l^2)*x2*x3*x4+2*l^2*x1*x3*x4+(4*l^3+8*l^2)*x1*x2*x4)


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,x1,x2,x3,x4,x5,x6,a,b,l,m> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-2*l*e1*e2*e6+2*l*e1*e3*e4-4*e1*e3*e5+2*l*e1*e4*e6-2*e1*e5*e6+2*l*e2*e3*e6+2*(l+2)*e2*e4*e5-l*e2*e4*e6-2*e3*e4*e6
psif=-2*l*f1*f2*f6+2*l*f1*f3*f4-4*f1*f3*f5+2*l*f1*f4*f6-2*f1*f5*f6+2*l*f2*f3*f6+2*(l+2)*f2*f4*f5-l*f2*f4*f6-2*f3*f4*f6
omegaxf=2*l*x1*f2+l*x3*f4+x5*f6+(l+2)*x1*f4-(2*l*f1*x2+l*f3*x4+f5*x6+(l+2)*f1*x4)
Cxfe=x1*f2*f3*e4*e5*e6+x1*f2*e3*f4*e5*e6+x1*f2*e3*e4*f5*e6+x1*f2*e3*e4*e5*f6+x1*e2*f3*f4*e5*e6+x1*e2*f3*e4*f5*e6+x1*e2*f3*e4*e5*f6+x1*e2*e3*f4*f5*e6+x1*e2*e3*f4*e5*f6+x1*e2*e3*e4*f5*f6-x2*f1*f3*e4*e5*e6-x2*f1*e3*f4*e5*e6-x2*f1*e3*e4*f5*e6-x2*f1*e3*e4*e5*f6-x2*e1*f3*f4*e5*e6-x2*e1*f3*e4*f5*e6-x2*e1*f3*e4*e5*f6-x2*e1*e3*f4*f5*e6-x2*e1*e3*f4*e5*f6-x2*e1*e3*e4*f5*f6+x3*f1*f2*e4*e5*e6+x3*f1*e2*f4*e5*e6+x3*f1*e2*e4*f5*e6+x3*f1*e2*e4*e5*f6+x3*e1*f2*f4*e5*e6+x3*e1*f2*e4*f5*e6+x3*e1*f2*e4*e5*f6+x3*e1*e2*f4*f5*e6+x3*e1*e2*f4*e5*f6+x3*e1*e2*e4*f5*f6-x4*f1*f2*e3*e5*e6-x4*f1*e2*f3*e5*e6-x4*f1*e2*e3*f5*e6-x4*f1*e2*e3*e5*f6-x4*e1*f2*f3*e5*e6-x4*e1*f2*e3*f5*e6-x4*e1*f2*e3*e5*f6-x4*e1*e2*f3*f5*e6-x4*e1*e2*f3*e5*f6-x4*e1*e2*e3*f5*f6+x5*f1*f2*e3*e4*e6+x5*f1*e2*f3*e4*e6+x5*f1*e2*e3*f4*e6+x5*f1*e2*e3*e4*f6+x5*e1*f2*f3*e4*e6+x5*e1*f2*e3*f4*e6+x5*e1*f2*e3*e4*f6+x5*e1*e2*f3*f4*e6+x5*e1*e2*f3*e4*f6+x5*e1*e2*e3*f4*f6-x6*f1*f2*e3*e4*e5-x6*f1*e2*f3*e4*e5-x6*f1*e2*e3*f4*e5-x6*f1*e2*e3*e4*f5-x6*e1*f2*f3*e4*e5-x6*e1*f2*e3*f4*e5-x6*e1*f2*e3*e4*f5-x6*e1*e2*f3*f4*e5-x6*e1*e2*f3*e4*f5-x6*e1*e2*e3*f4*f5
1/2*psie*Cxfe*psif*omegaxf

# 16*l*(l+1)*x1^2 - 8*x1*x2*l^2 + 16*x1*x3*l^2 - 4*l*(l+2)*x1*x4 - 8*x1*x6*l^2 + 8*l^2*(l+2)*x2^2 + 16*l*(l+2)*x2*x4 + 8*x3^2*l^2 - 4*x3*x4*l^2 - 8*x3*x6*l^2 + 4*(l^3 + 3*l^2 + 4*l + 4)*x4^2 - 8*l*(l+2)*x4*x5 + 4*x4*x6*l^2 + 8*(l+2)*x5^2 - 4*x5*x6*l + 4*l*(l+1)*x6^2 
# [16*l*(l+1),-4*l^2,8*l^2,-2*l*(l+2),0,-4*l^2],[-4*l^2,8*l^2*(l+2),0,8*l*(l+2),0,0],[8*l^2,0,8*l^2,-2*l^2,0,-4*l^2],[-2*l*(l+2),8*l*(l+2),-2*l^2,4*(l^3 + 3*l^2 + 4*l + 4),-4*l*(l+2),2*l^2],[0,0,0,-4*l*(l+2),8*(l+2),-2*l],[-4*l^2,0,-4*l^2,2*l^2,-2*l,4*l*(l+1)]
# The metric is positive definite for l > 0


E = ExteriorAlgebra(SR,'x',8)
l=var('l')
str_eq={(1,2):E.gens()[3],(1,3):E.gens()[5],(2,4):E.gens()[5],(1,4):E.gens()[6],(1,5):E.gens()[7],(2,3):l*E.gens()[7],(3,4):E.gens()[7],(4,6):E.gens()[7]}
d=E.coboundary(str_eq); d
print([d(b) for b in E.gens( )])
omega=2*l*E.gens()[1]*E.gens()[2] + l*E.gens()[3]*E.gens()[4] + E.gens()[5]*E.gens()[6]+(l+2)*E.gens()[1]*E.gens()[4]
psi=-2*l*E.gens()[1]*E.gens()[2]*E.gens()[6]+2*l*E.gens()[1]*E.gens()[3]*E.gens()[4]-4*E.gens()[1]*E.gens()[3]*E.gens()[5]+2*l*E.gens()[1]*E.gens()[4]*E.gens()[6]-2*E.gens()[1]*E.gens()[5]*E.gens()[6]+2*l*E.gens()[2]*E.gens()[3]*E.gens()[6]+2*(l+2)*E.gens()[2]*E.gens()[4]*E.gens()[5]-l*E.gens()[2]*E.gens()[4]*E.gens()[6]-2*E.gens()[3]*E.gens()[4]*E.gens()[6]
psiplus=(-l/(4*l^2 + 15*l + 16))*((4*l+8)*E.gens()[4]*E.gens()[5]*E.gens()[6]+(4*l^2+8*l)*E.gens()[2]*E.gens()[5]*E.gens()[6]-2*l*E.gens()[1]*E.gens()[5]*E.gens()[6]+2*l*E.gens()[3]*E.gens()[4]*E.gens()[6]-(4*l^3+11*l^2+8*l)*E.gens()[2]*E.gens()[4]*E.gens()[6]-2*l^2*E.gens()[2]*E.gens()[3]*E.gens()[6]+(4*l^2+8*l)*E.gens()[1]*E.gens()[3]*E.gens()[6]+2*l^2*E.gens()[1]*E.gens()[2]*E.gens()[6]-(8*l+16)*E.gens()[3]*E.gens()[4]*E.gens()[5]-(2*l^2+4*l)*E.gens()[2]*E.gens()[4]*E.gens()[5]+(4*l^2+8*l)*E.gens()[1]*E.gens()[4]*E.gens()[5]+(8*l^2+16*l)*E.gens()[2]*E.gens()[3]*E.gens()[5]-4*l*E.gens()[1]*E.gens()[3]*E.gens()[5]-(8*l^2+16*l)*E.gens()[1]*E.gens()[2]*E.gens()[5]-(4*l^3+8*l^2)*E.gens()[2]*E.gens()[3]*E.gens()[4]+2*l^2*E.gens()[1]*E.gens()[3]*E.gens()[4]+(4*l^3+8*l^2)*E.gens()[1]*E.gens()[2]*E.gens()[4])
eta=-E.gens()[7] + ((4*l^3 + 31*l^2 + 84*l + 64)/(4*l^2 + 15*l + 16))*E.gens()[3] + ((4*l^4 + 15*l^3 + 32*l^2 + 68*l + 64)/((4*l^2 + 15*l + 16)*l))*E.gens()[6]
omega # 2*l*x1*x2 + (l + 2)*x1*x4 + l*x3*x4 + x5*x6
psi # -2*l*x1*x2*x6 + 2*l*x1*x3*x4 - 4*x1*x3*x5 + 2*l*x1*x4*x6 - 2*x1*x5*x6 + 2*l*x2*x3*x6 + (2*l + 4)*x2*x4*x5 - l*x2*x4*x6 - 2*x3*x4*x6
psiplus # (-4*(l^3 + 2*l^2)*l/(4*l^2 + 15*l + 16))*x1*x2*x4 + (8*(l^2 + 2*l)*l/(4*l^2 + 15*l + 16))*x1*x2*x5 + (-2*l^3/(4*l^2 + 15*l + 16))*x1*x2*x6 + (-2*l^3/(4*l^2 + 15*l + 16))*x1*x3*x4 + (4*l^2/(4*l^2 + 15*l + 16))*x1*x3*x5 + (-4*(l^2 + 2*l)*l/(4*l^2 + 15*l + 16))*x1*x3*x6 + (-4*(l^2 + 2*l)*l/(4*l^2 + 15*l + 16))*x1*x4*x5 + (2*l^2/(4*l^2 + 15*l + 16))*x1*x5*x6 + (4*(l^3 + 2*l^2)*l/(4*l^2 + 15*l + 16))*x2*x3*x4 + (-8*(l^2 + 2*l)*l/(4*l^2 + 15*l + 16))*x2*x3*x5 + (2*l^3/(4*l^2 + 15*l + 16))*x2*x3*x6 + (2*(l^2 + 2*l)*l/(4*l^2 + 15*l + 16))*x2*x4*x5 + ((4*l^3 + 11*l^2 + 8*l)*l/(4*l^2 + 15*l + 16))*x2*x4*x6 + (-4*(l^2 + 2*l)*l/(4*l^2 + 15*l + 16))*x2*x5*x6 + (8*(l + 2)*l/(4*l^2 + 15*l + 16))*x3*x4*x5 + (-2*l^2/(4*l^2 + 15*l + 16))*x3*x4*x6 + (-4*(l + 2)*l/(4*l^2 + 15*l + 16))*x4*x5*x6
eta # ((4*l^3 + 31*l^2 + 84*l + 64)/(4*l^2 + 15*l + 16))*x3 + ((4*l^4 + 15*l^3 + 32*l^2 + 68*l + 64)/((4*l^2 + 15*l + 16)*l))*x6 - x7
omega*psi
psi*psiplus-(2/3)*omega^3
d(psi)
omega*d(omega)-psi*d(eta)
omega^2*d(eta)+2*psiplus*d(omega)


#Case -2 < l < 0


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-5/2*e1*e2*e3 - e1*e2*e5 + e1*e2*e6 + 2*e1*e3*e5 + e1*e3*e6 + e1*e5*e6 + e2*e3*e4 - l*e2*e3*e6 + (-l - 2)*e2*e4*e5 + e3*e4*e6
psif=-5/2*f1*f2*f3 - f1*f2*f5 + f1*f2*f6 + 2*f1*f3*f5 + f1*f3*f6 + f1*f5*f6 + f2*f3*f4 - l*f2*f3*f6 + (-l - 2)*f2*f4*f5 + f3*f4*f6
psig=-5/2*g1*g2*g3 - g1*g2*g5 + g1*g2*g6 + 2*g1*g3*g5 + g1*g3*g6 + g1*g5*g6 + g2*g3*g4 - l*g2*g3*g6 + (-l - 2)*g2*g4*g5 + g3*g4*g6
psih=-5/2*h1*h2*h3 - h1*h2*h5 + h1*h2*h6 + 2*h1*h3*h5 + h1*h3*h6 + h1*h5*h6 + h2*h3*h4 - l*h2*h3*h6 + (-l - 2)*h2*h4*h5 + h3*h4*h6
Cgfe=g1*f2*f3*e4*e5*e6+g1*f2*e3*f4*e5*e6+g1*f2*e3*e4*f5*e6+g1*f2*e3*e4*e5*f6+g1*e2*f3*f4*e5*e6+g1*e2*f3*e4*f5*e6+g1*e2*f3*e4*e5*f6+g1*e2*e3*f4*f5*e6+g1*e2*e3*f4*e5*f6+g1*e2*e3*e4*f5*f6+f1*g2*f3*e4*e5*e6+f1*g2*e3*f4*e5*e6+f1*g2*e3*e4*f5*e6+f1*g2*e3*e4*e5*f6+e1*g2*f3*f4*e5*e6+e1*g2*f3*e4*f5*e6+e1*g2*f3*e4*e5*f6+e1*g2*e3*f4*f5*e6+e1*g2*e3*f4*e5*f6+e1*g2*e3*e4*f5*f6+f1*f2*g3*e4*e5*e6+f1*e2*g3*f4*e5*e6+f1*e2*g3*e4*f5*e6+f1*e2*g3*e4*e5*f6+e1*f2*g3*f4*e5*e6+e1*f2*g3*e4*f5*e6+e1*f2*g3*e4*e5*f6+e1*e2*g3*f4*f5*e6+e1*e2*g3*f4*e5*f6+e1*e2*g3*e4*f5*f6+f1*f2*e3*g4*e5*e6+f1*e2*f3*g4*e5*e6+f1*e2*e3*g4*f5*e6+f1*e2*e3*g4*e5*f6+e1*f2*f3*g4*e5*e6+e1*f2*e3*g4*f5*e6+e1*f2*e3*g4*e5*f6+e1*e2*f3*g4*f5*e6+e1*e2*f3*g4*e5*f6+e1*e2*e3*g4*f5*f6+f1*f2*e3*e4*g5*e6+f1*e2*f3*e4*g5*e6+f1*e2*e3*f4*g5*e6+f1*e2*e3*e4*g5*f6+e1*f2*f3*e4*g5*e6+e1*f2*e3*f4*g5*e6+e1*f2*e3*e4*g5*f6+e1*e2*f3*f4*g5*e6+e1*e2*f3*e4*g5*f6+e1*e2*e3*f4*g5*f6+f1*f2*e3*e4*e5*g6+f1*e2*f3*e4*e5*g6+f1*e2*e3*f4*e5*g6+f1*e2*e3*e4*f5*g6+e1*f2*f3*e4*e5*g6+e1*f2*e3*f4*e5*g6+e1*f2*e3*e4*f5*g6+e1*e2*f3*f4*e5*g6+e1*e2*f3*e4*f5*g6+e1*e2*e3*f4*f5*g6
Cfgh=f1*g2*g3*h4*h5*h6+f1*g2*h3*g4*h5*h6+f1*g2*h3*h4*g5*h6+f1*g2*h3*h4*h5*g6+f1*h2*g3*g4*h5*h6+f1*h2*g3*h4*g5*h6+f1*h2*g3*h4*h5*g6+f1*h2*h3*g4*g5*h6+f1*h2*h3*g4*h5*g6+f1*h2*h3*h4*g5*g6+g1*f2*g3*h4*h5*h6+g1*f2*h3*g4*h5*h6+g1*f2*h3*h4*g5*h6+g1*f2*h3*h4*h5*g6+h1*f2*g3*g4*h5*h6+h1*f2*g3*h4*g5*h6+h1*f2*g3*h4*h5*g6+h1*f2*h3*g4*g5*h6+h1*f2*h3*g4*h5*g6+h1*f2*h3*h4*g5*g6+g1*g2*f3*h4*h5*h6+g1*h2*f3*g4*h5*h6+g1*h2*f3*h4*g5*h6+g1*h2*f3*h4*h5*g6+h1*g2*f3*g4*h5*h6+h1*g2*f3*h4*g5*h6+h1*g2*f3*h4*h5*g6+h1*h2*f3*g4*g5*h6+h1*h2*f3*g4*h5*g6+h1*h2*f3*h4*g5*g6+g1*g2*h3*f4*h5*h6+g1*h2*g3*f4*h5*h6+g1*h2*h3*f4*g5*h6+g1*h2*h3*f4*h5*g6+h1*g2*g3*f4*h5*h6+h1*g2*h3*f4*g5*h6+h1*g2*h3*f4*h5*g6+h1*h2*g3*f4*g5*h6+h1*h2*g3*f4*h5*g6+h1*h2*h3*f4*g5*g6+g1*g2*h3*h4*f5*h6+g1*h2*g3*h4*f5*h6+g1*h2*h3*g4*f5*h6+g1*h2*h3*h4*f5*g6+h1*g2*g3*h4*f5*h6+h1*g2*h3*g4*f5*h6+h1*g2*h3*h4*f5*g6+h1*h2*g3*g4*f5*h6+h1*h2*g3*h4*f5*g6+h1*h2*h3*g4*f5*g6+g1*g2*h3*h4*h5*f6+g1*h2*g3*h4*h5*f6+g1*h2*h3*g4*h5*f6+g1*h2*h3*h4*g5*f6+h1*g2*g3*h4*h5*f6+h1*g2*h3*g4*h5*f6+h1*g2*h3*h4*g5*f6+h1*h2*g3*g4*h5*f6+h1*h2*g3*h4*g5*f6+h1*h2*h3*g4*g5*f6
(-1/6)*psie*Cgfe*psif*psih*Cfgh*psig

# l*(l+2)
# negative for -2 < l < 0


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-5/2*e1*e2*e3 - e1*e2*e5 + e1*e2*e6 + 2*e1*e3*e5 + e1*e3*e6 + e1*e5*e6 + e2*e3*e4 - l*e2*e3*e6 + (-l - 2)*e2*e4*e5 + e3*e4*e6
psif=-5/2*f1*f2*f3 - f1*f2*f5 + f1*f2*f6 + 2*f1*f3*f5 + f1*f3*f6 + f1*f5*f6 + f2*f3*f4 - l*f2*f3*f6 + (-l - 2)*f2*f4*f5 + f3*f4*f6
psig=-5/2*g1*g2*g3 - g1*g2*g5 + g1*g2*g6 + 2*g1*g3*g5 + g1*g3*g6 + g1*g5*g6 + g2*g3*g4 - l*g2*g3*g6 + (-l - 2)*g2*g4*g5 + g3*g4*g6
psix=-5/2*x1*x2*x3 - x1*x2*x5 + x1*x2*x6 + 2*x1*x3*x5 + x1*x3*x6 + x1*x5*x6 + x2*x3*x4 - l*x2*x3*x6 + (-l - 2)*x2*x4*x5 + x3*x4*x6
psiy=-5/2*y1*y2*y3 - y1*y2*y5 + y1*y2*y6 + 2*y1*y3*y5 + y1*y3*y6 + y1*y5*y6 + y2*y3*y4 - l*y2*y3*y6 + (-l - 2)*y2*y4*y5 + y3*y4*y6
psiz=-5/2*z1*z2*z3 - z1*z2*z5 + z1*z2*z6 + 2*z1*z3*z5 + z1*z3*z6 + z1*z5*z6 + z2*z3*z4 - l*z2*z3*z6 + (-l - 2)*z2*z4*z5 + z3*z4*z6
psixyz=-5/2*x1*y2*z3 - x1*y2*z5 + x1*y2*z6 + 2*x1*y3*z5 + x1*y3*z6 + x1*y5*z6 + x2*y3*z4 - l*x2*y3*z6 + (-l - 2)*x2*y4*z5 + x3*y4*z6
Chxe=h1*x2*x3*e4*e5*e6+h1*x2*e3*x4*e5*e6+h1*x2*e3*e4*x5*e6+h1*x2*e3*e4*e5*x6+h1*e2*x3*x4*e5*e6+h1*e2*x3*e4*x5*e6+h1*e2*x3*e4*e5*x6+h1*e2*e3*x4*x5*e6+h1*e2*e3*x4*e5*x6+h1*e2*e3*e4*x5*x6+x1*h2*x3*e4*e5*e6+x1*h2*e3*x4*e5*e6+x1*h2*e3*e4*x5*e6+x1*h2*e3*e4*e5*x6+e1*h2*x3*x4*e5*e6+e1*h2*x3*e4*x5*e6+e1*h2*x3*e4*e5*x6+e1*h2*e3*x4*x5*e6+e1*h2*e3*x4*e5*x6+e1*h2*e3*e4*x5*x6+x1*x2*h3*e4*e5*e6+x1*e2*h3*x4*e5*e6+x1*e2*h3*e4*x5*e6+x1*e2*h3*e4*e5*x6+e1*x2*h3*x4*e5*e6+e1*x2*h3*e4*x5*e6+e1*x2*h3*e4*e5*x6+e1*e2*h3*x4*x5*e6+e1*e2*h3*x4*e5*x6+e1*e2*h3*e4*x5*x6+x1*x2*e3*h4*e5*e6+x1*e2*x3*h4*e5*e6+x1*e2*e3*h4*x5*e6+x1*e2*e3*h4*e5*x6+e1*x2*x3*h4*e5*e6+e1*x2*e3*h4*x5*e6+e1*x2*e3*h4*e5*x6+e1*e2*x3*h4*x5*e6+e1*e2*x3*h4*e5*x6+e1*e2*e3*h4*x5*x6+x1*x2*e3*e4*h5*e6+x1*e2*x3*e4*h5*e6+x1*e2*e3*x4*h5*e6+x1*e2*e3*e4*h5*x6+e1*x2*x3*e4*h5*e6+e1*x2*e3*x4*h5*e6+e1*x2*e3*e4*h5*x6+e1*e2*x3*x4*h5*e6+e1*e2*x3*e4*h5*x6+e1*e2*e3*x4*h5*x6+x1*x2*e3*e4*e5*h6+x1*e2*x3*e4*e5*h6+x1*e2*e3*x4*e5*h6+x1*e2*e3*e4*x5*h6+e1*x2*x3*e4*e5*h6+e1*x2*e3*x4*e5*h6+e1*x2*e3*e4*x5*h6+e1*e2*x3*x4*e5*h6+e1*e2*x3*e4*x5*h6+e1*e2*e3*x4*x5*h6
Chyf=h1*y2*y3*f4*f5*f6+h1*y2*f3*y4*f5*f6+h1*y2*f3*f4*y5*f6+h1*y2*f3*f4*f5*y6+h1*f2*y3*y4*f5*f6+h1*f2*y3*f4*y5*f6+h1*f2*y3*f4*f5*y6+h1*f2*f3*y4*y5*f6+h1*f2*f3*y4*f5*y6+h1*f2*f3*f4*y5*y6+y1*h2*y3*f4*f5*f6+y1*h2*f3*y4*f5*f6+y1*h2*f3*f4*y5*f6+y1*h2*f3*f4*f5*y6+f1*h2*y3*y4*f5*f6+f1*h2*y3*f4*y5*f6+f1*h2*y3*f4*f5*y6+f1*h2*f3*y4*y5*f6+f1*h2*f3*y4*f5*y6+f1*h2*f3*f4*y5*y6+y1*y2*h3*f4*f5*f6+y1*f2*h3*y4*f5*f6+y1*f2*h3*f4*y5*f6+y1*f2*h3*f4*f5*y6+f1*y2*h3*y4*f5*f6+f1*y2*h3*f4*y5*f6+f1*y2*h3*f4*f5*y6+f1*f2*h3*y4*y5*f6+f1*f2*h3*y4*f5*y6+f1*f2*h3*f4*y5*y6+y1*y2*f3*h4*f5*f6+y1*f2*y3*h4*f5*f6+y1*f2*f3*h4*y5*f6+y1*f2*f3*h4*f5*y6+f1*y2*y3*h4*f5*f6+f1*y2*f3*h4*y5*f6+f1*y2*f3*h4*f5*y6+f1*f2*y3*h4*y5*f6+f1*f2*y3*h4*f5*y6+f1*f2*f3*h4*y5*y6+y1*y2*f3*f4*h5*f6+y1*f2*y3*f4*h5*f6+y1*f2*f3*y4*h5*f6+y1*f2*f3*f4*h5*y6+f1*y2*y3*f4*h5*f6+f1*y2*f3*y4*h5*f6+f1*y2*f3*f4*h5*y6+f1*f2*y3*y4*h5*f6+f1*f2*y3*f4*h5*y6+f1*f2*f3*y4*h5*y6+y1*y2*f3*f4*f5*h6+y1*f2*y3*f4*f5*h6+y1*f2*f3*y4*f5*h6+y1*f2*f3*f4*y5*h6+f1*y2*y3*f4*f5*h6+f1*y2*f3*y4*f5*h6+f1*y2*f3*f4*y5*h6+f1*f2*y3*y4*f5*h6+f1*f2*y3*f4*y5*h6+f1*f2*f3*y4*y5*h6
Chzg=h1*z2*z3*g4*g5*g6+h1*z2*g3*z4*g5*g6+h1*z2*g3*g4*z5*g6+h1*z2*g3*g4*g5*z6+h1*g2*z3*z4*g5*g6+h1*g2*z3*g4*z5*g6+h1*g2*z3*g4*g5*z6+h1*g2*g3*z4*z5*g6+h1*g2*g3*z4*g5*z6+h1*g2*g3*g4*z5*z6+z1*h2*z3*g4*g5*g6+z1*h2*g3*z4*g5*g6+z1*h2*g3*g4*z5*g6+z1*h2*g3*g4*g5*z6+g1*h2*z3*z4*g5*g6+g1*h2*z3*g4*z5*g6+g1*h2*z3*g4*g5*z6+g1*h2*g3*z4*z5*g6+g1*h2*g3*z4*g5*z6+g1*h2*g3*g4*z5*z6+z1*z2*h3*g4*g5*g6+z1*g2*h3*z4*g5*g6+z1*g2*h3*g4*z5*g6+z1*g2*h3*g4*g5*z6+g1*z2*h3*z4*g5*g6+g1*z2*h3*g4*z5*g6+g1*z2*h3*g4*g5*z6+g1*g2*h3*z4*z5*g6+g1*g2*h3*z4*g5*z6+g1*g2*h3*g4*z5*z6+z1*z2*g3*h4*g5*g6+z1*g2*z3*h4*g5*g6+z1*g2*g3*h4*z5*g6+z1*g2*g3*h4*g5*z6+g1*z2*z3*h4*g5*g6+g1*z2*g3*h4*z5*g6+g1*z2*g3*h4*g5*z6+g1*g2*z3*h4*z5*g6+g1*g2*z3*h4*g5*z6+g1*g2*g3*h4*z5*z6+z1*z2*g3*g4*h5*g6+z1*g2*z3*g4*h5*g6+z1*g2*g3*z4*h5*g6+z1*g2*g3*g4*h5*z6+g1*z2*z3*g4*h5*g6+g1*z2*g3*z4*h5*g6+g1*z2*g3*g4*h5*z6+g1*g2*z3*z4*h5*g6+g1*g2*z3*g4*h5*z6+g1*g2*g3*z4*h5*z6+z1*z2*g3*g4*g5*h6+z1*g2*z3*g4*g5*h6+z1*g2*g3*z4*g5*h6+z1*g2*g3*g4*z5*h6+g1*z2*z3*g4*g5*h6+g1*z2*g3*z4*g5*h6+g1*z2*g3*g4*z5*h6+g1*g2*z3*z4*g5*h6+g1*g2*z3*g4*z5*h6+g1*g2*g3*z4*z5*h6
psie*Chxe*psix*psif*Chyf*psiy*psig*Chzg*psiz*psixyz

#psiplus = c*((-3/2*(5*l^2 + 18*l + 16)/((l^2 + 4*l + 4)*l))*x1*x2*x3 + 3/l*x1*x2*x6 + 6/l*x1*x3*x5 + (3*(l^2 + 3*l + 2)/((l^2 + 4*l + 4)*l))*x1*x3*x6 + 3/l*x1*x5*x6 + 12/l*x2*x3*x4 + (-12*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x3*x5 + (-3*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x3*x6 + (3*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x4*x5 + 6/l*x2*x4*x6 + (-6*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x5*x6 + 12/l*x3*x4*x5 + 3/l*x3*x4*x6 - 6/l*x4*x5*x6)


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,x1,x2,x3,x4,x5,x6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-5/2*e1*e2*e3 - e1*e2*e5 + e1*e2*e6 + 2*e1*e3*e5 + e1*e3*e6 + e1*e5*e6 + e2*e3*e4 - l*e2*e3*e6 + (-l - 2)*e2*e4*e5 + e3*e4*e6
psif=-5/2*f1*f2*f3 - f1*f2*f5 + f1*f2*f6 + 2*f1*f3*f5 + f1*f3*f6 + f1*f5*f6 + f2*f3*f4 - l*f2*f3*f6 + (-l - 2)*f2*f4*f5 + f3*f4*f6
omegaxf=(l*x1*f2 + x1*f4 + (l + 5/2)*x2*f3 + (l + 1)*x2*f5 + x3*f6 + x5*f6) - (l*f1*x2 + f1*x4 + (l + 5/2)*f2*x3 + (l + 1)*f2*x5 + f3*x6 + f5*x6) 
Cxfe=x1*f2*f3*e4*e5*e6+x1*f2*e3*f4*e5*e6+x1*f2*e3*e4*f5*e6+x1*f2*e3*e4*e5*f6+x1*e2*f3*f4*e5*e6+x1*e2*f3*e4*f5*e6+x1*e2*f3*e4*e5*f6+x1*e2*e3*f4*f5*e6+x1*e2*e3*f4*e5*f6+x1*e2*e3*e4*f5*f6-x2*f1*f3*e4*e5*e6-x2*f1*e3*f4*e5*e6-x2*f1*e3*e4*f5*e6-x2*f1*e3*e4*e5*f6-x2*e1*f3*f4*e5*e6-x2*e1*f3*e4*f5*e6-x2*e1*f3*e4*e5*f6-x2*e1*e3*f4*f5*e6-x2*e1*e3*f4*e5*f6-x2*e1*e3*e4*f5*f6+x3*f1*f2*e4*e5*e6+x3*f1*e2*f4*e5*e6+x3*f1*e2*e4*f5*e6+x3*f1*e2*e4*e5*f6+x3*e1*f2*f4*e5*e6+x3*e1*f2*e4*f5*e6+x3*e1*f2*e4*e5*f6+x3*e1*e2*f4*f5*e6+x3*e1*e2*f4*e5*f6+x3*e1*e2*e4*f5*f6-x4*f1*f2*e3*e5*e6-x4*f1*e2*f3*e5*e6-x4*f1*e2*e3*f5*e6-x4*f1*e2*e3*e5*f6-x4*e1*f2*f3*e5*e6-x4*e1*f2*e3*f5*e6-x4*e1*f2*e3*e5*f6-x4*e1*e2*f3*f5*e6-x4*e1*e2*f3*e5*f6-x4*e1*e2*e3*f5*f6+x5*f1*f2*e3*e4*e6+x5*f1*e2*f3*e4*e6+x5*f1*e2*e3*f4*e6+x5*f1*e2*e3*e4*f6+x5*e1*f2*f3*e4*e6+x5*e1*f2*e3*f4*e6+x5*e1*f2*e3*e4*f6+x5*e1*e2*f3*f4*e6+x5*e1*e2*f3*e4*f6+x5*e1*e2*e3*f4*f6-x6*f1*f2*e3*e4*e5-x6*f1*e2*f3*e4*e5-x6*f1*e2*e3*f4*e5-x6*f1*e2*e3*e4*f5-x6*e1*f2*f3*e4*e5-x6*e1*f2*e3*f4*e5-x6*e1*f2*e3*e4*f5-x6*e1*e2*f3*f4*e5-x6*e1*e2*f3*e4*f5-x6*e1*e2*e3*f4*f5
1/2*psie*Cxfe*psif*omegaxf

# 1/2*x1^2 - (l^2 + 2*l)*x1*x2 - (l + 2)*x1*x4 + (l^3 + 3*l^2 + 7/2*l + 4)*x2^2 + (l^2 + 15/2*l + 8)*x2*x3 + 2*(l^2 + 2)*x2*x4 + (l^2 + 6*l + 8)*x2*x5 - 2*(l+1)*x2*x6 
+ (2*l + 7)*x3^2 + 4*(l + 2)*x3*x5 - (l + 5)*x3*x6 + (l + 2)*x4^2 + 2*(l + 2)*x5^2 - (l + 2)*x5*x6 + x6^2
# [1/2,-1/2*l^2-l,0,-l/2-1,0,0],[-1/2*l^2-l,l^3+3*l^2+7/2*l+4,1/2*l^2+15/4*l+4,l^2+2*l,1/2*l^2+3*l+4,-l-1],[0,1/2*l^2+15/4*l+4,2*l+7,0,2*l+4,-1/2*l-5/2],[-l/2-1,l^2+2*l,0,l+2,0,0],[0,1/2*l^2+3*l+4,2*l+4,0,2*l+4,-1/2*l-1],[0,-l-1,-1/2*l-5/2,0,-1/2*l-1,1]
# The metric is positive definite for -2 < l < 0


E = ExteriorAlgebra(SR,'x',8)
l=var('l')
str_eq={(1,2):E.gens()[3],(1,3):E.gens()[5],(2,4):E.gens()[5],(1,4):E.gens()[6],(1,5):E.gens()[7],(2,3):l*E.gens()[7],(3,4):E.gens()[7],(4,6):E.gens()[7]}
d=E.coboundary(str_eq); d
print([d(b) for b in E.gens( )])
omega=l*E.gens()[1]*E.gens()[2] + E.gens()[1]*E.gens()[4] + (l + 5/2)*E.gens()[2]*E.gens()[3] + (l + 1)*E.gens()[2]*E.gens()[5] + E.gens()[3]*E.gens()[6] + E.gens()[5]*E.gens()[6]
psi=-5/2*E.gens()[1]*E.gens()[2]*E.gens()[3] - E.gens()[1]*E.gens()[2]*E.gens()[5] + E.gens()[1]*E.gens()[2]*E.gens()[6] + 2*E.gens()[1]*E.gens()[3]*E.gens()[5] + E.gens()[1]*E.gens()[3]*E.gens()[6] + E.gens()[1]*E.gens()[5]*E.gens()[6] + E.gens()[2]*E.gens()[3]*E.gens()[4] - l*E.gens()[2]*E.gens()[3]*E.gens()[6] - (l+2)*E.gens()[2]*E.gens()[4]*E.gens()[5] + E.gens()[3]*E.gens()[4]*E.gens()[6]
psiplus=-3/(l*(l^2 + 4*l + 4))*((5/2*l^2 + 9*l + 8)*E.gens()[1]*E.gens()[2]*E.gens()[3] + (-l^2 - 4*l - 4)*E.gens()[1]*E.gens()[2]*E.gens()[6] + (-2*l^2 - 8*l - 8)*E.gens()[1]*E.gens()[3]*E.gens()[5] + (-l^2 - 3*l - 2)*E.gens()[1]*E.gens()[3]*E.gens()[6] + (-l^2 - 4*l - 4)*E.gens()[1]*E.gens()[5]*E.gens()[6] + (-4*l^2 - 16*l - 16)*E.gens()[2]*E.gens()[3]*E.gens()[4] + (4*l^3 + 16*l^2 + 16*l)*E.gens()[2]*E.gens()[3]*E.gens()[5] + (l^3 + 4*l^2 + 4*l)*E.gens()[2]*E.gens()[3]*E.gens()[6] + (-l^3 - 4*l^2 - 4*l)*E.gens()[2]*E.gens()[4]*E.gens()[5] + (-2*l^2 - 8*l - 8)*E.gens()[2]*E.gens()[4]*E.gens()[6] + (2*l^3 + 8*l^2 + 8*l)*E.gens()[2]*E.gens()[5]*E.gens()[6] + (-4*l^2 - 16*l - 16)*E.gens()[3]*E.gens()[4]*E.gens()[5] + (-l^2 - 4*l - 4)*E.gens()[3]*E.gens()[4]*E.gens()[6] + (2*l^2 + 8*l + 8)*E.gens()[4]*E.gens()[5]*E.gens()[6])
eta=3/(2*(l+2))*E.gens()[7]+(-2*(3*l^2 + 8*l + 8)/(l*(l + 2)))*E.gens()[6]-3/(2*(l + 2))*E.gens()[5]+(-24*l^2 - 64*l - 61)/(4*l + 8)*E.gens()[3]
omega # l*x1*x2 + x1*x4 + (l + 5/2)*x2*x3 + (l + 1)*x2*x5 + x3*x6 + x5*x6
psi # -5/2*x1*x2*x3 - x1*x2*x5 + x1*x2*x6 + 2*x1*x3*x5 + x1*x3*x6 + x1*x5*x6 + x2*x3*x4 - l*x2*x3*x6 + (-l - 2)*x2*x4*x5 + x3*x4*x6
eta # (-1/4*(24*l^2 + 64*l + 61)/(l + 2))*x3 + (-3/2/(l + 2))*x5 + (-2*(3*l^2 + 8*l + 8)/((l + 2)*l))*x6 + (3/2/(l + 2))*x7
psiplus # (-3/2*(5*l^2 + 18*l + 16)/((l^2 + 4*l + 4)*l))*x1*x2*x3 + 3/l*x1*x2*x6 + 6/l*x1*x3*x5 + (3*(l^2 + 3*l + 2)/((l^2 + 4*l + 4)*l))*x1*x3*x6 + 3/l*x1*x5*x6 + 12/l*x2*x3*x4 + (-12*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x3*x5 + (-3*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x3*x6 + (3*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x4*x5 + 6/l*x2*x4*x6 + (-6*(l^3 + 4*l^2 + 4*l)/((l^2 + 4*l + 4)*l))*x2*x5*x6 + 12/l*x3*x4*x5 + 3/l*x3*x4*x6 - 6/l*x4*x5*x6
d(psi)
omega*psi
psi*psiplus-2/3*omega^3
omega*d(omega)-psi*d(eta)
omega^2*d(eta)+2*psiplus*d(omega)



#Case l < -2


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,l,p> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-2*(l+2)*e1*e2*e6+2*(l+2)*e1*e3*e4+4*e1*e3*e5+2*(l+2)*e1*e4*e6+2*e1*e5*e6-2*l*e2*e3*e6-2*(l+2)*e2*e4*e5-p*(l+2)*e2*e4*e6+2*e3*e4*e6
psif=-2*(l+2)*f1*f2*f6+2*(l+2)*f1*f3*f4+4*f1*f3*f5+2*(l+2)*f1*f4*f6+2*f1*f5*f6-2*l*f2*f3*f6-2*(l+2)*f2*f4*f5-p*(l+2)*f2*f4*f6+2*f3*f4*f6
psig=-2*(l+2)*g1*g2*g6+2*(l+2)*g1*g3*g4+4*g1*g3*g5+2*(l+2)*g1*g4*g6+2*g1*g5*g6-2*l*g2*g3*g6-2*(l+2)*g2*g4*g5-p*(l+2)*g2*g4*g6+2*g3*g4*g6
psih=-2*(l+2)*h1*h2*h6+2*(l+2)*h1*h3*h4+4*h1*h3*h5+2*(l+2)*h1*h4*h6+2*h1*h5*h6-2*l*h2*h3*h6-2*(l+2)*h2*h4*h5-p*(l+2)*h2*h4*h6+2*h3*h4*h6
Cgfe=g1*f2*f3*e4*e5*e6+g1*f2*e3*f4*e5*e6+g1*f2*e3*e4*f5*e6+g1*f2*e3*e4*e5*f6+g1*e2*f3*f4*e5*e6+g1*e2*f3*e4*f5*e6+g1*e2*f3*e4*e5*f6+g1*e2*e3*f4*f5*e6+g1*e2*e3*f4*e5*f6+g1*e2*e3*e4*f5*f6+f1*g2*f3*e4*e5*e6+f1*g2*e3*f4*e5*e6+f1*g2*e3*e4*f5*e6+f1*g2*e3*e4*e5*f6+e1*g2*f3*f4*e5*e6+e1*g2*f3*e4*f5*e6+e1*g2*f3*e4*e5*f6+e1*g2*e3*f4*f5*e6+e1*g2*e3*f4*e5*f6+e1*g2*e3*e4*f5*f6+f1*f2*g3*e4*e5*e6+f1*e2*g3*f4*e5*e6+f1*e2*g3*e4*f5*e6+f1*e2*g3*e4*e5*f6+e1*f2*g3*f4*e5*e6+e1*f2*g3*e4*f5*e6+e1*f2*g3*e4*e5*f6+e1*e2*g3*f4*f5*e6+e1*e2*g3*f4*e5*f6+e1*e2*g3*e4*f5*f6+f1*f2*e3*g4*e5*e6+f1*e2*f3*g4*e5*e6+f1*e2*e3*g4*f5*e6+f1*e2*e3*g4*e5*f6+e1*f2*f3*g4*e5*e6+e1*f2*e3*g4*f5*e6+e1*f2*e3*g4*e5*f6+e1*e2*f3*g4*f5*e6+e1*e2*f3*g4*e5*f6+e1*e2*e3*g4*f5*f6+f1*f2*e3*e4*g5*e6+f1*e2*f3*e4*g5*e6+f1*e2*e3*f4*g5*e6+f1*e2*e3*e4*g5*f6+e1*f2*f3*e4*g5*e6+e1*f2*e3*f4*g5*e6+e1*f2*e3*e4*g5*f6+e1*e2*f3*f4*g5*e6+e1*e2*f3*e4*g5*f6+e1*e2*e3*f4*g5*f6+f1*f2*e3*e4*e5*g6+f1*e2*f3*e4*e5*g6+f1*e2*e3*f4*e5*g6+f1*e2*e3*e4*f5*g6+e1*f2*f3*e4*e5*g6+e1*f2*e3*f4*e5*g6+e1*f2*e3*e4*f5*g6+e1*e2*f3*f4*e5*g6+e1*e2*f3*e4*f5*g6+e1*e2*e3*f4*f5*g6
Cfgh=f1*g2*g3*h4*h5*h6+f1*g2*h3*g4*h5*h6+f1*g2*h3*h4*g5*h6+f1*g2*h3*h4*h5*g6+f1*h2*g3*g4*h5*h6+f1*h2*g3*h4*g5*h6+f1*h2*g3*h4*h5*g6+f1*h2*h3*g4*g5*h6+f1*h2*h3*g4*h5*g6+f1*h2*h3*h4*g5*g6+g1*f2*g3*h4*h5*h6+g1*f2*h3*g4*h5*h6+g1*f2*h3*h4*g5*h6+g1*f2*h3*h4*h5*g6+h1*f2*g3*g4*h5*h6+h1*f2*g3*h4*g5*h6+h1*f2*g3*h4*h5*g6+h1*f2*h3*g4*g5*h6+h1*f2*h3*g4*h5*g6+h1*f2*h3*h4*g5*g6+g1*g2*f3*h4*h5*h6+g1*h2*f3*g4*h5*h6+g1*h2*f3*h4*g5*h6+g1*h2*f3*h4*h5*g6+h1*g2*f3*g4*h5*h6+h1*g2*f3*h4*g5*h6+h1*g2*f3*h4*h5*g6+h1*h2*f3*g4*g5*h6+h1*h2*f3*g4*h5*g6+h1*h2*f3*h4*g5*g6+g1*g2*h3*f4*h5*h6+g1*h2*g3*f4*h5*h6+g1*h2*h3*f4*g5*h6+g1*h2*h3*f4*h5*g6+h1*g2*g3*f4*h5*h6+h1*g2*h3*f4*g5*h6+h1*g2*h3*f4*h5*g6+h1*h2*g3*f4*g5*h6+h1*h2*g3*f4*h5*g6+h1*h2*h3*f4*g5*g6+g1*g2*h3*h4*f5*h6+g1*h2*g3*h4*f5*h6+g1*h2*h3*g4*f5*h6+g1*h2*h3*h4*f5*g6+h1*g2*g3*h4*f5*h6+h1*g2*h3*g4*f5*h6+h1*g2*h3*h4*f5*g6+h1*h2*g3*g4*f5*h6+h1*h2*g3*h4*f5*g6+h1*h2*h3*g4*f5*g6+g1*g2*h3*h4*h5*f6+g1*h2*g3*h4*h5*f6+g1*h2*h3*g4*h5*f6+g1*h2*h3*h4*g5*f6+h1*g2*g3*h4*h5*f6+h1*g2*h3*g4*h5*f6+h1*g2*h3*h4*g5*f6+h1*h2*g3*g4*h5*f6+h1*h2*g3*h4*g5*f6+h1*h2*h3*g4*g5*f6
(-1/6)*psie*Cgfe*psif*psih*Cfgh*psig

# 16*(l + 2)^2*(p^2 + 4*l + 8)
# negative <=> p^2 + 4*l + 8 < 0 <=> -2*sqrt(-l-2) < p < 2*sqrt(-l-2)
# choose p = sqrt(-l-2)



D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,l,p> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-2*(l+2)*e1*e2*e6+2*(l+2)*e1*e3*e4+4*e1*e3*e5+2*(l+2)*e1*e4*e6+2*e1*e5*e6-2*l*e2*e3*e6-2*(l+2)*e2*e4*e5-p*(l+2)*e2*e4*e6+2*e3*e4*e6
psif=-2*(l+2)*f1*f2*f6+2*(l+2)*f1*f3*f4+4*f1*f3*f5+2*(l+2)*f1*f4*f6+2*f1*f5*f6-2*l*f2*f3*f6-2*(l+2)*f2*f4*f5-p*(l+2)*f2*f4*f6+2*f3*f4*f6
psig=-2*(l+2)*g1*g2*g6+2*(l+2)*g1*g3*g4+4*g1*g3*g5+2*(l+2)*g1*g4*g6+2*g1*g5*g6-2*l*g2*g3*g6-2*(l+2)*g2*g4*g5-p*(l+2)*g2*g4*g6+2*g3*g4*g6
psix=-2*(l+2)*x1*x2*x6+2*(l+2)*x1*x3*x4+4*x1*x3*x5+2*(l+2)*x1*x4*x6+2*x1*x5*x6-2*l*x2*x3*x6-2*(l+2)*x2*x4*x5-p*(l+2)*x2*x4*x6+2*x3*x4*x6
psiy=-2*(l+2)*y1*y2*y6+2*(l+2)*y1*y3*y4+4*y1*y3*y5+2*(l+2)*y1*y4*y6+2*y1*y5*y6-2*l*y2*y3*y6-2*(l+2)*y2*y4*y5-p*(l+2)*y2*y4*y6+2*y3*y4*y6
psiz=-2*(l+2)*z1*z2*z6+2*(l+2)*z1*z3*z4+4*z1*z3*z5+2*(l+2)*z1*z4*z6+2*z1*z5*z6-2*l*z2*z3*z6-2*(l+2)*z2*z4*z5-p*(l+2)*z2*z4*z6+2*z3*z4*z6
psixyz=-2*(l+2)*x1*y2*z6+2*(l+2)*x1*y3*z4+4*x1*y3*z5+2*(l+2)*x1*y4*z6+2*x1*y5*z6-2*l*x2*y3*z6-2*(l+2)*x2*y4*z5-p*(l+2)*x2*y4*z6+2*x3*y4*z6
Chxe=h1*x2*x3*e4*e5*e6+h1*x2*e3*x4*e5*e6+h1*x2*e3*e4*x5*e6+h1*x2*e3*e4*e5*x6+h1*e2*x3*x4*e5*e6+h1*e2*x3*e4*x5*e6+h1*e2*x3*e4*e5*x6+h1*e2*e3*x4*x5*e6+h1*e2*e3*x4*e5*x6+h1*e2*e3*e4*x5*x6+x1*h2*x3*e4*e5*e6+x1*h2*e3*x4*e5*e6+x1*h2*e3*e4*x5*e6+x1*h2*e3*e4*e5*x6+e1*h2*x3*x4*e5*e6+e1*h2*x3*e4*x5*e6+e1*h2*x3*e4*e5*x6+e1*h2*e3*x4*x5*e6+e1*h2*e3*x4*e5*x6+e1*h2*e3*e4*x5*x6+x1*x2*h3*e4*e5*e6+x1*e2*h3*x4*e5*e6+x1*e2*h3*e4*x5*e6+x1*e2*h3*e4*e5*x6+e1*x2*h3*x4*e5*e6+e1*x2*h3*e4*x5*e6+e1*x2*h3*e4*e5*x6+e1*e2*h3*x4*x5*e6+e1*e2*h3*x4*e5*x6+e1*e2*h3*e4*x5*x6+x1*x2*e3*h4*e5*e6+x1*e2*x3*h4*e5*e6+x1*e2*e3*h4*x5*e6+x1*e2*e3*h4*e5*x6+e1*x2*x3*h4*e5*e6+e1*x2*e3*h4*x5*e6+e1*x2*e3*h4*e5*x6+e1*e2*x3*h4*x5*e6+e1*e2*x3*h4*e5*x6+e1*e2*e3*h4*x5*x6+x1*x2*e3*e4*h5*e6+x1*e2*x3*e4*h5*e6+x1*e2*e3*x4*h5*e6+x1*e2*e3*e4*h5*x6+e1*x2*x3*e4*h5*e6+e1*x2*e3*x4*h5*e6+e1*x2*e3*e4*h5*x6+e1*e2*x3*x4*h5*e6+e1*e2*x3*e4*h5*x6+e1*e2*e3*x4*h5*x6+x1*x2*e3*e4*e5*h6+x1*e2*x3*e4*e5*h6+x1*e2*e3*x4*e5*h6+x1*e2*e3*e4*x5*h6+e1*x2*x3*e4*e5*h6+e1*x2*e3*x4*e5*h6+e1*x2*e3*e4*x5*h6+e1*e2*x3*x4*e5*h6+e1*e2*x3*e4*x5*h6+e1*e2*e3*x4*x5*h6
Chyf=h1*y2*y3*f4*f5*f6+h1*y2*f3*y4*f5*f6+h1*y2*f3*f4*y5*f6+h1*y2*f3*f4*f5*y6+h1*f2*y3*y4*f5*f6+h1*f2*y3*f4*y5*f6+h1*f2*y3*f4*f5*y6+h1*f2*f3*y4*y5*f6+h1*f2*f3*y4*f5*y6+h1*f2*f3*f4*y5*y6+y1*h2*y3*f4*f5*f6+y1*h2*f3*y4*f5*f6+y1*h2*f3*f4*y5*f6+y1*h2*f3*f4*f5*y6+f1*h2*y3*y4*f5*f6+f1*h2*y3*f4*y5*f6+f1*h2*y3*f4*f5*y6+f1*h2*f3*y4*y5*f6+f1*h2*f3*y4*f5*y6+f1*h2*f3*f4*y5*y6+y1*y2*h3*f4*f5*f6+y1*f2*h3*y4*f5*f6+y1*f2*h3*f4*y5*f6+y1*f2*h3*f4*f5*y6+f1*y2*h3*y4*f5*f6+f1*y2*h3*f4*y5*f6+f1*y2*h3*f4*f5*y6+f1*f2*h3*y4*y5*f6+f1*f2*h3*y4*f5*y6+f1*f2*h3*f4*y5*y6+y1*y2*f3*h4*f5*f6+y1*f2*y3*h4*f5*f6+y1*f2*f3*h4*y5*f6+y1*f2*f3*h4*f5*y6+f1*y2*y3*h4*f5*f6+f1*y2*f3*h4*y5*f6+f1*y2*f3*h4*f5*y6+f1*f2*y3*h4*y5*f6+f1*f2*y3*h4*f5*y6+f1*f2*f3*h4*y5*y6+y1*y2*f3*f4*h5*f6+y1*f2*y3*f4*h5*f6+y1*f2*f3*y4*h5*f6+y1*f2*f3*f4*h5*y6+f1*y2*y3*f4*h5*f6+f1*y2*f3*y4*h5*f6+f1*y2*f3*f4*h5*y6+f1*f2*y3*y4*h5*f6+f1*f2*y3*f4*h5*y6+f1*f2*f3*y4*h5*y6+y1*y2*f3*f4*f5*h6+y1*f2*y3*f4*f5*h6+y1*f2*f3*y4*f5*h6+y1*f2*f3*f4*y5*h6+f1*y2*y3*f4*f5*h6+f1*y2*f3*y4*f5*h6+f1*y2*f3*f4*y5*h6+f1*f2*y3*y4*f5*h6+f1*f2*y3*f4*y5*h6+f1*f2*f3*y4*y5*h6
Chzg=h1*z2*z3*g4*g5*g6+h1*z2*g3*z4*g5*g6+h1*z2*g3*g4*z5*g6+h1*z2*g3*g4*g5*z6+h1*g2*z3*z4*g5*g6+h1*g2*z3*g4*z5*g6+h1*g2*z3*g4*g5*z6+h1*g2*g3*z4*z5*g6+h1*g2*g3*z4*g5*z6+h1*g2*g3*g4*z5*z6+z1*h2*z3*g4*g5*g6+z1*h2*g3*z4*g5*g6+z1*h2*g3*g4*z5*g6+z1*h2*g3*g4*g5*z6+g1*h2*z3*z4*g5*g6+g1*h2*z3*g4*z5*g6+g1*h2*z3*g4*g5*z6+g1*h2*g3*z4*z5*g6+g1*h2*g3*z4*g5*z6+g1*h2*g3*g4*z5*z6+z1*z2*h3*g4*g5*g6+z1*g2*h3*z4*g5*g6+z1*g2*h3*g4*z5*g6+z1*g2*h3*g4*g5*z6+g1*z2*h3*z4*g5*g6+g1*z2*h3*g4*z5*g6+g1*z2*h3*g4*g5*z6+g1*g2*h3*z4*z5*g6+g1*g2*h3*z4*g5*z6+g1*g2*h3*g4*z5*z6+z1*z2*g3*h4*g5*g6+z1*g2*z3*h4*g5*g6+z1*g2*g3*h4*z5*g6+z1*g2*g3*h4*g5*z6+g1*z2*z3*h4*g5*g6+g1*z2*g3*h4*z5*g6+g1*z2*g3*h4*g5*z6+g1*g2*z3*h4*z5*g6+g1*g2*z3*h4*g5*z6+g1*g2*g3*h4*z5*z6+z1*z2*g3*g4*h5*g6+z1*g2*z3*g4*h5*g6+z1*g2*g3*z4*h5*g6+z1*g2*g3*g4*h5*z6+g1*z2*z3*g4*h5*g6+g1*z2*g3*z4*h5*g6+g1*z2*g3*g4*h5*z6+g1*g2*z3*z4*h5*g6+g1*g2*z3*g4*h5*z6+g1*g2*g3*z4*h5*z6+z1*z2*g3*g4*g5*h6+z1*g2*z3*g4*g5*h6+z1*g2*g3*z4*g5*h6+z1*g2*g3*g4*z5*h6+g1*z2*z3*g4*g5*h6+g1*z2*g3*z4*g5*h6+g1*z2*g3*g4*z5*h6+g1*g2*z3*z4*g5*h6+g1*g2*z3*g4*z5*h6+g1*g2*g3*z4*z5*h6
psie*Chxe*psix*psif*Chyf*psiy*psig*Chzg*psiz*psixyz


#psiplus=c*(x2*x4*x6*(p^2 + 4*l + 4)*(l + 2) + 4*x1*x2*x4*(l + 2)^2+ 4*x2*x3*x4*l*(l + 2)+ 2*x1*x3*x4*p*(l + 2)+ 2*x2*x4*x5*p*(l + 2)+ 2*x1*x2*x6*p*(l + 2)+ 2*x2*x3*x6*l*p+ 8*x1*x2*x5*(l + 2)+ 8*x2*x3*x5*l- 4*x1*x4*x5*(l + 2)- 4*x1*x3*x6*(l + 2)+ 4*x2*x5*x6*l+ 4*x1*x3*x5*p- 2*x3*x4*x6*p+ 2*x1*x5*x6*p-8*x3*x4*x5+4*x4*x5*x6)


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,x1,x2,x3,x4,x5,x6,l,p> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-2*(l+2)*e1*e2*e6+2*(l+2)*e1*e3*e4+4*e1*e3*e5+2*(l+2)*e1*e4*e6+2*e1*e5*e6-2*l*e2*e3*e6-2*(l+2)*e2*e4*e5-(l+2)*p*e2*e4*e6+2*e3*e4*e6
psif=-2*(l+2)*f1*f2*f6+2*(l+2)*f1*f3*f4+4*f1*f3*f5+2*(l+2)*f1*f4*f6+2*f1*f5*f6-2*l*f2*f3*f6-2*(l+2)*f2*f4*f5-(l+2)*p*f2*f4*f6+2*f3*f4*f6
omegaxf=(((l + 2)^2)*x1*f2 + (l + 2)*x3*f4 - x5*f6)-(((l + 2)^2)*f1*x2 + (l + 2)*f3*x4 - f5*x6)
Cxfe=x1*f2*f3*e4*e5*e6+x1*f2*e3*f4*e5*e6+x1*f2*e3*e4*f5*e6+x1*f2*e3*e4*e5*f6+x1*e2*f3*f4*e5*e6+x1*e2*f3*e4*f5*e6+x1*e2*f3*e4*e5*f6+x1*e2*e3*f4*f5*e6+x1*e2*e3*f4*e5*f6+x1*e2*e3*e4*f5*f6-x2*f1*f3*e4*e5*e6-x2*f1*e3*f4*e5*e6-x2*f1*e3*e4*f5*e6-x2*f1*e3*e4*e5*f6-x2*e1*f3*f4*e5*e6-x2*e1*f3*e4*f5*e6-x2*e1*f3*e4*e5*f6-x2*e1*e3*f4*f5*e6-x2*e1*e3*f4*e5*f6-x2*e1*e3*e4*f5*f6+x3*f1*f2*e4*e5*e6+x3*f1*e2*f4*e5*e6+x3*f1*e2*e4*f5*e6+x3*f1*e2*e4*e5*f6+x3*e1*f2*f4*e5*e6+x3*e1*f2*e4*f5*e6+x3*e1*f2*e4*e5*f6+x3*e1*e2*f4*f5*e6+x3*e1*e2*f4*e5*f6+x3*e1*e2*e4*f5*f6-x4*f1*f2*e3*e5*e6-x4*f1*e2*f3*e5*e6-x4*f1*e2*e3*f5*e6-x4*f1*e2*e3*e5*f6-x4*e1*f2*f3*e5*e6-x4*e1*f2*e3*f5*e6-x4*e1*f2*e3*e5*f6-x4*e1*e2*f3*f5*e6-x4*e1*e2*f3*e5*f6-x4*e1*e2*e3*f5*f6+x5*f1*f2*e3*e4*e6+x5*f1*e2*f3*e4*e6+x5*f1*e2*e3*f4*e6+x5*f1*e2*e3*e4*f6+x5*e1*f2*f3*e4*e6+x5*e1*f2*e3*f4*e6+x5*e1*f2*e3*e4*f6+x5*e1*e2*f3*f4*e6+x5*e1*e2*f3*e4*f6+x5*e1*e2*e3*f4*f6-x6*f1*f2*e3*e4*e5-x6*f1*e2*f3*e4*e5-x6*f1*e2*e3*f4*e5-x6*f1*e2*e3*e4*f5-x6*e1*f2*f3*e4*e5-x6*e1*f2*e3*f4*e5-x6*e1*f2*e3*e4*f5-x6*e1*e2*f3*f4*e5-x6*e1*e2*f3*e4*f5-x6*e1*e2*e3*f4*f5
1/2*psie*Cxfe*psif*omegaxf

# -(4*l^3+ 24*l^2 + 48*l + 32)*x1^2 + (4*l^3*p + 24*l^2*p + 48*l*p + 32*p)x1*x2 - (16*l^2 + 64*l + 64)*x1*x3 + (8*l^2 + 32*l + 32)*x1*x6 + (4*l^4 + 24*l^3 + 48*l^2 + 32*l)*x2^2 + (8*l^3 + 48*l^2 + 96*l + 64)*x2*x4 + (8*l^2 + 16*l)*x3^2 + (4*l^2*p + 16*l*p + 16*p)*x3*x4 - (8*l^2 + 16*l)*x3*x6 - (4*l^3 + 24*l^2 + 48*l + 32)*x4^2 - (8*l^2 + 32*l + 32)*x4*x5 - (4*l^2*p + 16*l*p + 16*p)*x4*x6 - (8*l + 16)*x5^2 - (4*l*p + 8*p)*x5*x6 + (4*l^2 + 12*l + 8)*x6^2
# [-2*(l + 2)^3, p*(l + 2)^3, -4*(l + 2)^2, 0, 0, 2*(l + 2)^2], [p*(l + 2)^3, 2*l*(l + 2)^3, 0, 2*(l + 2)^3, 0, 0], [-4*(l + 2)^2, 0, 4*l^2 + 8*l, p*(l + 2)^2, 0, -2*l^2 - 4*l], [0, 2*(l + 2)^3, p*(l + 2)^2, -2*(l + 2)^3, -2*(l + 2)^2, -p*(l + 2)^2], [0, 0, 0, -2*(l + 2)^2, -4*l - 8, -l*p - 2*p], [2*(l + 2)^2, 0, -2*l^2 - 4*l, -p*(l + 2)^2, -l*p - 2*p, 2*l^2 + 6*l + 4]
# The metric is positive definite if p = sqrt(-l-2)


E = ExteriorAlgebra(SR,'x',8)
l=var('l')
p=var('p')
str_eq={(1,2):E.gens()[3],(1,3):E.gens()[5],(2,4):E.gens()[5],(1,4):E.gens()[6],(1,5):E.gens()[7],(2,3):l*E.gens()[7],(3,4):E.gens()[7],(4,6):E.gens()[7]}
d=E.coboundary(str_eq); d
print([d(b) for b in E.gens( )])
omega=(l+2)^2*E.gens()[1]*E.gens()[2]+(l+2)*E.gens()[3]*E.gens()[4]-E.gens()[5]*E.gens()[6]
psi=-2*(l+2)*E.gens()[1]*E.gens()[2]*E.gens()[6]+2*(l+2)*E.gens()[1]*E.gens()[3]*E.gens()[4]+4*E.gens()[1]*E.gens()[3]*E.gens()[5]+2*(l+2)*E.gens()[1]*E.gens()[4]*E.gens()[6]+2*E.gens()[1]*E.gens()[5]*E.gens()[6]-2*l*E.gens()[2]*E.gens()[3]*E.gens()[6]-2*(l+2)*E.gens()[2]*E.gens()[4]*E.gens()[5]-p*(l+2)*E.gens()[2]*E.gens()[4]*E.gens()[6]+2*E.gens()[3]*E.gens()[4]*E.gens()[6]
psiplus=(l+2)^2/(2*(4*l+p^2+8))*(E.gens()[2]*E.gens()[4]*E.gens()[6]*(p^2 + 4*l + 4)*(l + 2) + 4*E.gens()[1]*E.gens()[2]*E.gens()[4]*(l + 2)^2+ 4*E.gens()[2]*E.gens()[3]*E.gens()[4]*l*(l + 2)+ 2*E.gens()[1]*E.gens()[3]*E.gens()[4]*p*(l + 2)+ 2*E.gens()[2]*E.gens()[4]*E.gens()[5]*p*(l + 2)+ 2*E.gens()[1]*E.gens()[2]*E.gens()[6]*p*(l + 2)+ 2*E.gens()[2]*E.gens()[3]*E.gens()[6]*l*p+ 8*E.gens()[1]*E.gens()[2]*E.gens()[5]*(l + 2)+ 8*E.gens()[2]*E.gens()[3]*E.gens()[5]*l- 4*E.gens()[1]*E.gens()[4]*E.gens()[5]*(l + 2)- 4*E.gens()[1]*E.gens()[3]*E.gens()[6]*(l + 2)+ 4*E.gens()[2]*E.gens()[5]*E.gens()[6]*l+ 4*E.gens()[1]*E.gens()[3]*E.gens()[5]*p- 2*E.gens()[3]*E.gens()[4]*E.gens()[6]*p+ 2*E.gens()[1]*E.gens()[5]*E.gens()[6]*p-8*E.gens()[3]*E.gens()[4]*E.gens()[5]+4*E.gens()[4]*E.gens()[5]*E.gens()[6])
eta=1/p*E.gens()[7]+(l + 2)*(3*p^2 - 4*l - 8)/((p^2 + 4*l + 8)*p)*E.gens()[3]+(l + 2)^2*(p^2 + 4*l - 8)/((p^2 + 4*l + 8)*p*l)*E.gens()[6]
# omega = ((l + 2)^2)*x1*x2 + (l + 2)*x3*x4 - x5*x6
# psi = (-2*l - 4)*x1*x2*x6 + (2*l + 4)*x1*x3*x4 + 4*x1*x3*x5 + (2*l + 4)*x1*x4*x6 + 2*x1*x5*x6 - 2*l*x2*x3*x6 + (-2*l - 4)*x2*x4*x5 - (l + 2)*p*x2*x4*x6 + 2*x3*x4*x6
# psiplus = (2*(l + 2)^4/(p^2 + 4*l + 8))*x1*x2*x4 + (4*(l + 2)^3/(p^2 + 4*l + 8))*x1*x2*x5 + ((l + 2)^3*p/(p^2 + 4*l + 8))*x1*x2*x6 + ((l + 2)^3*p/(p^2 + 4*l + 8))*x1*x3*x4 + (2*(l + 2)^2*p/(p^2 + 4*l + 8))*x1*x3*x5 + (-2*(l + 2)^3/(p^2 + 4*l + 8))*x1*x3*x6 + (-2*(l + 2)^3/(p^2 + 4*l + 8))*x1*x4*x5 + ((l + 2)^2*p/(p^2 + 4*l + 8))*x1*x5*x6 + (2*(l + 2)^3*l/(p^2 + 4*l + 8))*x2*x3*x4 + (4*(l + 2)^2*l/(p^2 + 4*l + 8))*x2*x3*x5 + ((l + 2)^2*l*p/(p^2 + 4*l + 8))*x2*x3*x6 + ((l + 2)^3*p/(p^2 + 4*l + 8))*x2*x4*x5 + (1/2*(p^2 + 4*l + 4)*(l + 2)^3/(p^2 + 4*l + 8))*x2*x4*x6 + (2*(l + 2)^2*l/(p^2 + 4*l + 8))*x2*x5*x6 + (-4*(l + 2)^2/(p^2 + 4*l + 8))*x3*x4*x5 + (-(l + 2)^2*p/(p^2 + 4*l + 8))*x3*x4*x6 + (2*(l + 2)^2/(p^2 + 4*l + 8))*x4*x5*x6
# eta = ((3*p^2 - 4*l - 8)*(l + 2)/((p^2 + 4*l + 8)*p))*x3 + ((p^2 + 4*l - 8)*(l + 2)^2/((p^2 + 4*l + 8)*l*p))*x6 + 1/p*x7
# p = sqrt(-l-2)
omega*psi
psi*psiplus-(2/3)*omega^3
d(psi)
omega*d(omega)-psi*d(eta)
omega^2*d(eta)+2*psiplus*d(omega)



#Case l=0

D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6>=GradedCommutativeAlgebra(QQ)
N=D.cdg_algebra({})
N.inject_variables()
psie=e1*e2*e3-e1*e2*e5-2*e1*e2*e6-2*e1*e3*e5+e1*e3*e6-e1*e5*e6+2*e2*e4*e5-e3*e4*e6
psif=f1*f2*f3-f1*f2*f5-2*f1*f2*f6-2*f1*f3*f5+f1*f3*f6-f1*f5*f6+2*f2*f4*f5-f3*f4*f6
psig=g1*g2*g3-g1*g2*g5-2*g1*g2*g6-2*g1*g3*g5+g1*g3*g6-g1*g5*g6+2*g2*g4*g5-g3*g4*g6
psih=h1*h2*h3-h1*h2*h5-2*h1*h2*h6-2*h1*h3*h5+h1*h3*h6-h1*h5*h6+2*h2*h4*h5-h3*h4*h6
Cgfe=g1*f2*f3*e4*e5*e6+g1*f2*e3*f4*e5*e6+g1*f2*e3*e4*f5*e6+g1*f2*e3*e4*e5*f6+g1*e2*f3*f4*e5*e6+g1*e2*f3*e4*f5*e6+g1*e2*f3*e4*e5*f6+g1*e2*e3*f4*f5*e6+g1*e2*e3*f4*e5*f6+g1*e2*e3*e4*f5*f6+f1*g2*f3*e4*e5*e6+f1*g2*e3*f4*e5*e6+f1*g2*e3*e4*f5*e6+f1*g2*e3*e4*e5*f6+e1*g2*f3*f4*e5*e6+e1*g2*f3*e4*f5*e6+e1*g2*f3*e4*e5*f6+e1*g2*e3*f4*f5*e6+e1*g2*e3*f4*e5*f6+e1*g2*e3*e4*f5*f6+f1*f2*g3*e4*e5*e6+f1*e2*g3*f4*e5*e6+f1*e2*g3*e4*f5*e6+f1*e2*g3*e4*e5*f6+e1*f2*g3*f4*e5*e6+e1*f2*g3*e4*f5*e6+e1*f2*g3*e4*e5*f6+e1*e2*g3*f4*f5*e6+e1*e2*g3*f4*e5*f6+e1*e2*g3*e4*f5*f6+f1*f2*e3*g4*e5*e6+f1*e2*f3*g4*e5*e6+f1*e2*e3*g4*f5*e6+f1*e2*e3*g4*e5*f6+e1*f2*f3*g4*e5*e6+e1*f2*e3*g4*f5*e6+e1*f2*e3*g4*e5*f6+e1*e2*f3*g4*f5*e6+e1*e2*f3*g4*e5*f6+e1*e2*e3*g4*f5*f6+f1*f2*e3*e4*g5*e6+f1*e2*f3*e4*g5*e6+f1*e2*e3*f4*g5*e6+f1*e2*e3*e4*g5*f6+e1*f2*f3*e4*g5*e6+e1*f2*e3*f4*g5*e6+e1*f2*e3*e4*g5*f6+e1*e2*f3*f4*g5*e6+e1*e2*f3*e4*g5*f6+e1*e2*e3*f4*g5*f6+f1*f2*e3*e4*e5*g6+f1*e2*f3*e4*e5*g6+f1*e2*e3*f4*e5*g6+f1*e2*e3*e4*f5*g6+e1*f2*f3*e4*e5*g6+e1*f2*e3*f4*e5*g6+e1*f2*e3*e4*f5*g6+e1*e2*f3*f4*e5*g6+e1*e2*f3*e4*f5*g6+e1*e2*e3*f4*f5*g6
Cfgh=f1*g2*g3*h4*h5*h6+f1*g2*h3*g4*h5*h6+f1*g2*h3*h4*g5*h6+f1*g2*h3*h4*h5*g6+f1*h2*g3*g4*h5*h6+f1*h2*g3*h4*g5*h6+f1*h2*g3*h4*h5*g6+f1*h2*h3*g4*g5*h6+f1*h2*h3*g4*h5*g6+f1*h2*h3*h4*g5*g6+g1*f2*g3*h4*h5*h6+g1*f2*h3*g4*h5*h6+g1*f2*h3*h4*g5*h6+g1*f2*h3*h4*h5*g6+h1*f2*g3*g4*h5*h6+h1*f2*g3*h4*g5*h6+h1*f2*g3*h4*h5*g6+h1*f2*h3*g4*g5*h6+h1*f2*h3*g4*h5*g6+h1*f2*h3*h4*g5*g6+g1*g2*f3*h4*h5*h6+g1*h2*f3*g4*h5*h6+g1*h2*f3*h4*g5*h6+g1*h2*f3*h4*h5*g6+h1*g2*f3*g4*h5*h6+h1*g2*f3*h4*g5*h6+h1*g2*f3*h4*h5*g6+h1*h2*f3*g4*g5*h6+h1*h2*f3*g4*h5*g6+h1*h2*f3*h4*g5*g6+g1*g2*h3*f4*h5*h6+g1*h2*g3*f4*h5*h6+g1*h2*h3*f4*g5*h6+g1*h2*h3*f4*h5*g6+h1*g2*g3*f4*h5*h6+h1*g2*h3*f4*g5*h6+h1*g2*h3*f4*h5*g6+h1*h2*g3*f4*g5*h6+h1*h2*g3*f4*h5*g6+h1*h2*h3*f4*g5*g6+g1*g2*h3*h4*f5*h6+g1*h2*g3*h4*f5*h6+g1*h2*h3*g4*f5*h6+g1*h2*h3*h4*f5*g6+h1*g2*g3*h4*f5*h6+h1*g2*h3*g4*f5*h6+h1*g2*h3*h4*f5*g6+h1*h2*g3*g4*f5*h6+h1*h2*g3*h4*f5*g6+h1*h2*h3*g4*f5*g6+g1*g2*h3*h4*h5*f6+g1*h2*g3*h4*h5*f6+g1*h2*h3*g4*h5*f6+g1*h2*h3*h4*g5*f6+h1*g2*g3*h4*h5*f6+h1*g2*h3*g4*h5*f6+h1*g2*h3*h4*g5*f6+h1*h2*g3*g4*h5*f6+h1*h2*g3*h4*g5*f6+h1*h2*h3*g4*g5*f6
(-1/6)*psie*Cgfe*psif*psih*Cfgh*psig


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6>=GradedCommutativeAlgebra(QQ)
N=D.cdg_algebra({})
N.inject_variables()
psie=e1*e2*e3-e1*e2*e5-2*e1*e2*e6-2*e1*e3*e5+e1*e3*e6-e1*e5*e6+2*e2*e4*e5-e3*e4*e6
psif=f1*f2*f3-f1*f2*f5-2*f1*f2*f6-2*f1*f3*f5+f1*f3*f6-f1*f5*f6+2*f2*f4*f5-f3*f4*f6
psig=g1*g2*g3-g1*g2*g5-2*g1*g2*g6-2*g1*g3*g5+g1*g3*g6-g1*g5*g6+2*g2*g4*g5-g3*g4*g6
psix=x1*x2*x3-x1*x2*x5-2*x1*x2*x6-2*x1*x3*x5+x1*x3*x6-x1*x5*x6+2*x2*x4*x5-x3*x4*x6
psiy=y1*y2*y3-y1*y2*y5-2*y1*y2*y6-2*y1*y3*y5+y1*y3*y6-y1*y5*y6+2*y2*y4*y5-y3*y4*y6
psiz=z1*z2*z3-z1*z2*z5-2*z1*z2*z6-2*z1*z3*z5+z1*z3*z6-z1*z5*z6+2*z2*z4*z5-z3*z4*z6
psixyz=x1*y2*z3-x1*y2*z5-2*x1*y2*z6-2*x1*y3*z5+x1*y3*z6-x1*y5*z6+2*x2*y4*z5-x3*y4*z6
Chxe=h1*x2*x3*e4*e5*e6+h1*x2*e3*x4*e5*e6+h1*x2*e3*e4*x5*e6+h1*x2*e3*e4*e5*x6+h1*e2*x3*x4*e5*e6+h1*e2*x3*e4*x5*e6+h1*e2*x3*e4*e5*x6+h1*e2*e3*x4*x5*e6+h1*e2*e3*x4*e5*x6+h1*e2*e3*e4*x5*x6+x1*h2*x3*e4*e5*e6+x1*h2*e3*x4*e5*e6+x1*h2*e3*e4*x5*e6+x1*h2*e3*e4*e5*x6+e1*h2*x3*x4*e5*e6+e1*h2*x3*e4*x5*e6+e1*h2*x3*e4*e5*x6+e1*h2*e3*x4*x5*e6+e1*h2*e3*x4*e5*x6+e1*h2*e3*e4*x5*x6+x1*x2*h3*e4*e5*e6+x1*e2*h3*x4*e5*e6+x1*e2*h3*e4*x5*e6+x1*e2*h3*e4*e5*x6+e1*x2*h3*x4*e5*e6+e1*x2*h3*e4*x5*e6+e1*x2*h3*e4*e5*x6+e1*e2*h3*x4*x5*e6+e1*e2*h3*x4*e5*x6+e1*e2*h3*e4*x5*x6+x1*x2*e3*h4*e5*e6+x1*e2*x3*h4*e5*e6+x1*e2*e3*h4*x5*e6+x1*e2*e3*h4*e5*x6+e1*x2*x3*h4*e5*e6+e1*x2*e3*h4*x5*e6+e1*x2*e3*h4*e5*x6+e1*e2*x3*h4*x5*e6+e1*e2*x3*h4*e5*x6+e1*e2*e3*h4*x5*x6+x1*x2*e3*e4*h5*e6+x1*e2*x3*e4*h5*e6+x1*e2*e3*x4*h5*e6+x1*e2*e3*e4*h5*x6+e1*x2*x3*e4*h5*e6+e1*x2*e3*x4*h5*e6+e1*x2*e3*e4*h5*x6+e1*e2*x3*x4*h5*e6+e1*e2*x3*e4*h5*x6+e1*e2*e3*x4*h5*x6+x1*x2*e3*e4*e5*h6+x1*e2*x3*e4*e5*h6+x1*e2*e3*x4*e5*h6+x1*e2*e3*e4*x5*h6+e1*x2*x3*e4*e5*h6+e1*x2*e3*x4*e5*h6+e1*x2*e3*e4*x5*h6+e1*e2*x3*x4*e5*h6+e1*e2*x3*e4*x5*h6+e1*e2*e3*x4*x5*h6
Chyf=h1*y2*y3*f4*f5*f6+h1*y2*f3*y4*f5*f6+h1*y2*f3*f4*y5*f6+h1*y2*f3*f4*f5*y6+h1*f2*y3*y4*f5*f6+h1*f2*y3*f4*y5*f6+h1*f2*y3*f4*f5*y6+h1*f2*f3*y4*y5*f6+h1*f2*f3*y4*f5*y6+h1*f2*f3*f4*y5*y6+y1*h2*y3*f4*f5*f6+y1*h2*f3*y4*f5*f6+y1*h2*f3*f4*y5*f6+y1*h2*f3*f4*f5*y6+f1*h2*y3*y4*f5*f6+f1*h2*y3*f4*y5*f6+f1*h2*y3*f4*f5*y6+f1*h2*f3*y4*y5*f6+f1*h2*f3*y4*f5*y6+f1*h2*f3*f4*y5*y6+y1*y2*h3*f4*f5*f6+y1*f2*h3*y4*f5*f6+y1*f2*h3*f4*y5*f6+y1*f2*h3*f4*f5*y6+f1*y2*h3*y4*f5*f6+f1*y2*h3*f4*y5*f6+f1*y2*h3*f4*f5*y6+f1*f2*h3*y4*y5*f6+f1*f2*h3*y4*f5*y6+f1*f2*h3*f4*y5*y6+y1*y2*f3*h4*f5*f6+y1*f2*y3*h4*f5*f6+y1*f2*f3*h4*y5*f6+y1*f2*f3*h4*f5*y6+f1*y2*y3*h4*f5*f6+f1*y2*f3*h4*y5*f6+f1*y2*f3*h4*f5*y6+f1*f2*y3*h4*y5*f6+f1*f2*y3*h4*f5*y6+f1*f2*f3*h4*y5*y6+y1*y2*f3*f4*h5*f6+y1*f2*y3*f4*h5*f6+y1*f2*f3*y4*h5*f6+y1*f2*f3*f4*h5*y6+f1*y2*y3*f4*h5*f6+f1*y2*f3*y4*h5*f6+f1*y2*f3*f4*h5*y6+f1*f2*y3*y4*h5*f6+f1*f2*y3*f4*h5*y6+f1*f2*f3*y4*h5*y6+y1*y2*f3*f4*f5*h6+y1*f2*y3*f4*f5*h6+y1*f2*f3*y4*f5*h6+y1*f2*f3*f4*y5*h6+f1*y2*y3*f4*f5*h6+f1*y2*f3*y4*f5*h6+f1*y2*f3*f4*y5*h6+f1*f2*y3*y4*f5*h6+f1*f2*y3*f4*y5*h6+f1*f2*f3*y4*y5*h6
Chzg=h1*z2*z3*g4*g5*g6+h1*z2*g3*z4*g5*g6+h1*z2*g3*g4*z5*g6+h1*z2*g3*g4*g5*z6+h1*g2*z3*z4*g5*g6+h1*g2*z3*g4*z5*g6+h1*g2*z3*g4*g5*z6+h1*g2*g3*z4*z5*g6+h1*g2*g3*z4*g5*z6+h1*g2*g3*g4*z5*z6+z1*h2*z3*g4*g5*g6+z1*h2*g3*z4*g5*g6+z1*h2*g3*g4*z5*g6+z1*h2*g3*g4*g5*z6+g1*h2*z3*z4*g5*g6+g1*h2*z3*g4*z5*g6+g1*h2*z3*g4*g5*z6+g1*h2*g3*z4*z5*g6+g1*h2*g3*z4*g5*z6+g1*h2*g3*g4*z5*z6+z1*z2*h3*g4*g5*g6+z1*g2*h3*z4*g5*g6+z1*g2*h3*g4*z5*g6+z1*g2*h3*g4*g5*z6+g1*z2*h3*z4*g5*g6+g1*z2*h3*g4*z5*g6+g1*z2*h3*g4*g5*z6+g1*g2*h3*z4*z5*g6+g1*g2*h3*z4*g5*z6+g1*g2*h3*g4*z5*z6+z1*z2*g3*h4*g5*g6+z1*g2*z3*h4*g5*g6+z1*g2*g3*h4*z5*g6+z1*g2*g3*h4*g5*z6+g1*z2*z3*h4*g5*g6+g1*z2*g3*h4*z5*g6+g1*z2*g3*h4*g5*z6+g1*g2*z3*h4*z5*g6+g1*g2*z3*h4*g5*z6+g1*g2*g3*h4*z5*z6+z1*z2*g3*g4*h5*g6+z1*g2*z3*g4*h5*g6+z1*g2*g3*z4*h5*g6+z1*g2*g3*g4*h5*z6+g1*z2*z3*g4*h5*g6+g1*z2*g3*z4*h5*g6+g1*z2*g3*g4*h5*z6+g1*g2*z3*z4*h5*g6+g1*g2*z3*g4*h5*z6+g1*g2*g3*z4*h5*z6+z1*z2*g3*g4*g5*h6+z1*g2*z3*g4*g5*h6+z1*g2*g3*z4*g5*h6+z1*g2*g3*g4*z5*h6+g1*z2*z3*g4*g5*h6+g1*z2*g3*z4*g5*h6+g1*z2*g3*g4*z5*h6+g1*g2*z3*z4*g5*h6+g1*g2*z3*g4*z5*h6+g1*g2*g3*z4*z5*h6
1/8*psie*Chxe*psix*psif*Chyf*psiy*psig*Chzg*psiz*psixyz

#psiplus = -3*x1*x2*x3 - 4*x2*x3*x4 - 13*x1*x2*x5 + 6*x1*x3*x5 + 2*x2*x4*x5 - 8*x3*x4*x5 + 6*x1*x2*x6 + 5*x1*x3*x6 - 8*x2*x4*x6 + x3*x4*x6 + 3*x1*x5*x6 + 4*x4*x5*x6

D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,x1,x2,x3,x4,x5,x6> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=e1*e2*e3-e1*e2*e5-2*e1*e2*e6-2*e1*e3*e5+e1*e3*e6-e1*e5*e6+2*e2*e4*e5-e3*e4*e6
psif=f1*f2*f3-f1*f2*f5-2*f1*f2*f6-2*f1*f3*f5+f1*f3*f6-f1*f5*f6+2*f2*f4*f5-f3*f4*f6
omegaxf=x1*f4+x2*f3+x5*f6-(f1*x4+f2*x3+f5*x6)
Cxfe=x1*f2*f3*e4*e5*e6+x1*f2*e3*f4*e5*e6+x1*f2*e3*e4*f5*e6+x1*f2*e3*e4*e5*f6+x1*e2*f3*f4*e5*e6+x1*e2*f3*e4*f5*e6+x1*e2*f3*e4*e5*f6+x1*e2*e3*f4*f5*e6+x1*e2*e3*f4*e5*f6+x1*e2*e3*e4*f5*f6-x2*f1*f3*e4*e5*e6-x2*f1*e3*f4*e5*e6-x2*f1*e3*e4*f5*e6-x2*f1*e3*e4*e5*f6-x2*e1*f3*f4*e5*e6-x2*e1*f3*e4*f5*e6-x2*e1*f3*e4*e5*f6-x2*e1*e3*f4*f5*e6-x2*e1*e3*f4*e5*f6-x2*e1*e3*e4*f5*f6+x3*f1*f2*e4*e5*e6+x3*f1*e2*f4*e5*e6+x3*f1*e2*e4*f5*e6+x3*f1*e2*e4*e5*f6+x3*e1*f2*f4*e5*e6+x3*e1*f2*e4*f5*e6+x3*e1*f2*e4*e5*f6+x3*e1*e2*f4*f5*e6+x3*e1*e2*f4*e5*f6+x3*e1*e2*e4*f5*f6-x4*f1*f2*e3*e5*e6-x4*f1*e2*f3*e5*e6-x4*f1*e2*e3*f5*e6-x4*f1*e2*e3*e5*f6-x4*e1*f2*f3*e5*e6-x4*e1*f2*e3*f5*e6-x4*e1*f2*e3*e5*f6-x4*e1*e2*f3*f5*e6-x4*e1*e2*f3*e5*f6-x4*e1*e2*e3*f5*f6+x5*f1*f2*e3*e4*e6+x5*f1*e2*f3*e4*e6+x5*f1*e2*e3*f4*e6+x5*f1*e2*e3*e4*f6+x5*e1*f2*f3*e4*e6+x5*e1*f2*e3*f4*e6+x5*e1*f2*e3*e4*f6+x5*e1*e2*f3*f4*e6+x5*e1*e2*f3*e4*f6+x5*e1*e2*e3*f4*f6-x6*f1*f2*e3*e4*e5-x6*f1*e2*f3*e4*e5-x6*f1*e2*e3*f4*e5-x6*f1*e2*e3*e4*f5-x6*e1*f2*f3*e4*e5-x6*e1*f2*e3*f4*e5-x6*e1*f2*e3*e4*f5-x6*e1*e2*f3*f4*e5-x6*e1*e2*f3*e4*f5-x6*e1*e2*e3*f4*f5
1/2*psie*Cxfe*psif*omegaxf

# 4x1^2 + 3x1*x4 + 4x2^2 - x2*x3 + 4x2*x5 + 2x3^2 - 2x3*x6 + 2x4^2 + 4x5^2 - x5*x6 + 2x6^2
# [4,0,0,3/2,0,0],[0,4,-1/2,0,2,0],[0,-1/2,2,0,0,-1],[3/2,0,0,2,0,0],[0,2,0,0,4,-1/2],[0,0,-1,0,-1/2,2]
# The metric is positive definite


A.<x1,x2,x3,x4,x5,x6,x7> = GradedCommutativeAlgebra(QQ)
M=A.cdg_algebra({x3: x1*x2, x5: x1*x3+x2*x4, x6:x1*x4, x7: x1*x5+x3*x4+x4*x6})
M.inject_variables()
omega=x1*x4+x2*x3+x5*x6
psi=x1*x2*x3-x1*x2*x5-2*x1*x2*x6-2*x1*x3*x5+x1*x3*x6-x1*x5*x6+2*x2*x4*x5-x3*x4*x6
psiplus=-2/23*(-3*x1*x2*x3 - 4*x2*x3*x4 - 13*x1*x2*x5 + 6*x1*x3*x5 + 2*x2*x4*x5 - 8*x3*x4*x5 + 6*x1*x2*x6 + 5*x1*x3*x6 - 8*x2*x4*x6 + x3*x4*x6 + 3*x1*x5*x6 + 4*x4*x5*x6)
eta=x7-2*x3+x5-16/23*x6
omega*psi
psi*psiplus-(2/3)*omega^3
psi.differential()
omega*omega.differential()-psi*eta.differential()
omega^2*eta.differential()+2*psiplus*omega.differential()





